Files
2nd/10_Wiki/Topic_HTML/HTML_Accessibility.md
T
koriweb 9609c04755 docs(10_Wiki): W3Schools 위키화 — HTML/CSS/JavaScript(core)
W3Schools 튜토리얼을 P-Reinforce v3.1 포맷으로 위키화(영어 본문, 한/영 섹션 헤더).
- Topic_HTML: 59문서 (튜토리얼+예제, 레퍼런스/메타 제외)
- Topic_CSS: 190문서 (메인 + Advanced/Flexbox/Grid/RWD 전체)
- Topic_JavaScript: 120문서 (코어 언어; Temporal/DOM상세/BOM/WebAPI/AJAX/jQuery/Graphics 등은 후속)
각 폴더 00_INDEX.md(MOC) 포함. 코드 verbatim, 미확인분은 "Not found in source" 표기.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 19:21:18 +09:00

122 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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).