---
id: html-accessibility
title: "HTML Accessibility"
category: "Frontend"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["web accessibility", "semantic HTML", "a11y", "accessible HTML", "screen reader HTML"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.87
created_at: 2026-06-23
updated_at: 2026-06-23
review_reason: ""
merge_history: []
tags: ["html", "web", "frontend", "w3schools", "accessibility", "semantic-html", "a11y"]
raw_sources: ["https://www.w3schools.com/html/html_accessibility.asp"]
applied_in: []
github_commit: ""
---

# [[HTML Accessibility]]

## 🎯 한 줄 통찰 (One-line insight)
Always write HTML with accessibility in mind — use semantic elements for their intended purpose so all users get a good way to navigate and interact with your site. [S1]

## 🧠 핵심 개념 (Core concepts)
- **Accessibility-first mindset** — always write HTML code with accessibility in mind, giving users a good way to navigate and interact with the site. [S1]
- **Semantic HTML** — use the correct HTML element for its purpose; a semantic `<button>` carries suitable default styling, screen-reader recognition, focusability, and keyboard navigation that a `<div>` does not. [S1]
- **Headings convey structure** — use headings (`<h1>`–`<h6>`) for headings only, not to make text big or bold. [S1]
- **Alternative text** — provide descriptive `alt` text for images. [S1]
- **Declare the language** — set the page language with the `lang` attribute on `<html>`. [S1]
- **Meaningful link text** — links should describe where they lead, not say "Click here" or "Read more.." [S1]

## 🧩 추출된 패턴 (Extracted patterns)
- **Semantic vs non-semantic** — non-semantic elements: `<div>`, `<span>`; semantic elements: `<form>`, `<table>`, `<article>` (and `<button>`). [S1]
- **Right element for the job** — prefer `<button>Report an Error</button>` over `<div>Report an Error</div>`. [S1]
- **Heading hierarchy** — order headings `<h1>`→`<h6>` to express document structure. [S1]
- **`alt` on every meaningful image** — `<img ... alt="descriptive text">`. [S1]

## 📖 세부 내용 (Details)
**Write with accessibility in mind**
Always write HTML code with accessibility in mind. Provide the user a good way to navigate and interact with your site. [S1]

**Use semantic HTML**
Use the correct HTML element for the correct purpose. For example, a button should be a `<button>`, not a `<div>`: [S1]
```html
<button>Report an Error</button>
```
rather than the non-semantic:
```html
<div>Report an Error</div>
```
Benefits of using the semantic `<button>` include suitable default styling, screen reader recognition, focusability, and keyboard navigation support. Non-semantic elements include `<div>` and `<span>`; semantic elements include `<form>`, `<table>`, and `<article>`. [S1]

**Use headings for structure**
Use HTML headings for headings only. Don't use headings to make text **BIG** or **bold**. [S1]
```html
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
```

**Provide alternative text for images**
```html
<img src="img_chania.jpg" alt="A narrow city street with flowers in Chania">
```

**Declare the page language**
```html
<!DOCTYPE html>
<html lang="en">
<body>
...
</body>
</html>
```

**Use meaningful link text**
Good links use descriptive text explaining where the link leads; bad links use generic text like "Click here" or "Read more..". [S1]

## 🛠️ 적용 사례 (Applied in summary)
The applied guidance is concrete: replace non-semantic `<div>` buttons with `<button>`, keep headings hierarchical and reserved for structure, add descriptive `alt` text, declare `lang`, and write meaningful link text. No external project/commit applications found in the source.

## 💻 코드 패턴 (Code patterns)
Semantic button (HTML):
```html
<button>Report an Error</button>
```
Image with alternative text (HTML):
```html
<img src="img_chania.jpg" alt="A narrow city street with flowers in Chania">
```
Document language declaration (HTML):
```html
<html lang="en">
```

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
No contradictions found in the source. Note this page does not cover ARIA attributes, `<label for>` form-input labels, `tabindex`, or color-contrast requirements — those topics are not addressed here (Not found in source). [S1]

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual (실제 적용 사례 발견 시 applied/validated로 승격 가능)
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.87
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[HTML Tutorial]]
- **관련 개념:** [[HTML Semantics]], [[HTML Headings]], [[HTML Images]], [[HTML Buttons]]
- **참조 맥락:** Referenced whenever building markup that must be usable by screen readers, keyboards, and assistive technology.

## 📚 출처 (Sources)
- [S1] W3Schools — HTML Accessibility — https://www.w3schools.com/html/html_accessibility.asp

## 📝 변경 이력 (Change history)
- 2026-06-23: Initial draft synthesized from the W3Schools "HTML Accessibility" page (Astra wiki-curation, P-Reinforce v3.1 format).
