웹 프로젝트 기초집LESSON 16
접근성 기초: 키보드·대체 텍스트·명확한 버튼 처리하기
난이도초급
예상 시간45분
선수지식15강 localStorage 상태 저장
16강. 접근성 기초: 키보드·대체 텍스트·명확한 버튼 처리하기
1. 이번 강의에서 해결할 문제
마우스로는 사용할 수 있지만 Tab 순서가 보이지 않거나 같은 이름의 ‘보기’ 버튼이 반복됩니다. 홈부터 폼까지 키보드와 접근성 트리로 점검합니다.
2. 학습 목표
3. 핵심 개념
접근성은 마지막 장식이 아니라 HTML 선택에서 시작합니다. 링크는 이동, 버튼은 동작을 맡고 보이는 label과 제목이 이름을 제공합니다. DOM 순서와 키보드 순서가 자연스러워야 하며 긍정적인 tabindex로 억지로 재배열하지 않습니다.
4. 단계별 실습
HTML · 기존 컨트롤 문구와 상태 보강
game-dev-portfolio/index.html
<button type="button" data-action="open-project" data-project-id="parcel-rush">
Parcel Rush 상세 보기
</button>
<p id="projectStatus" class="status" aria-live="polite">3개 프로젝트 표시 중</p>
CSS · 파일 경로: css/style.css
game-dev-portfolio/css/style.css
:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
button, a { min-height: 44px; }
button { cursor: pointer; }
@media (forced-colors: active) {
.project-card { border: 1px solid CanvasText; }
}
수동 점검 순서
- 주소창에서 Tab을 눌러 본문 바로가기부터 이동합니다.
- 메뉴, 필터, 상세 버튼, 모달 닫기, 테마와 폼을 Enter·Space·Escape로 조작합니다.
- 모든 초점 위치가 보이고 모달 뒤 초점이 돌아오는지 확인합니다.
- 이미지 끄기 또는 경로 누락에서 대체 텍스트를 확인합니다.
개발자 도구 확인: Accessibility 트리에서 버튼 이름, 상태와 랜드마크를 확인합니다. 자동 검사는 보조 수단이며 키보드 수동 흐름을 대신하지 않습니다.
5. 코드가 동작하는 이유
브라우저가 링크·버튼·폼의 키보드 행동과 역할을 기본 제공하므로 별도 키 이벤트가 줄어듭니다. 구체적인 버튼 텍스트와 aria-live는 현재 행동과 결과를 전달합니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2접근성 기초: 키보드·대체 텍스트·명확한 버튼 처리하기 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
16강. 접근성 기초: 키보드·대체 텍스트·명확한 버튼 처리하기 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.