본문 바로가기
끼리KKIRI함께 결정하는 방법을 설계합니다
문서 둘러보기
목업 체험
기획 자료운영·법무

OPERATIONS · ACCESSIBILITY ③ · WCAG 2.2 AA

접근성 기준서 v0.1

어떤 수준을, 어느 화면 · 컴포넌트에, 어떻게 검사하나?

운영·법무 ③ (2026-09-06)

어떤 수준을, 어느 화면 · 컴포넌트에, 어떻게 검사하나?

누가 읽나: 디자이너 · 프런트 개발자 · QA

← 스타일 가이드 §11A안 화면설계서 →

원본: KKIRI_ACCESSIBILITY_STANDARD.md

스타일 가이드 §11 체크리스트 9줄은 이 문서 §2의 부분집합으로 계속 쓴다.

작성: 페이블 · 2026-09-06 · 운영·법무 산출물 ③
목적: 스타일 가이드 §11의 체크리스트 9줄과 요구사항 NF-01을 검사 가능한 기준으로 넓힌다. 어떤 수준을, 어느 화면 · 컴포넌트에, 어떻게 검사하는지까지 적는다. 이 문서는 기준이며, 실제 화면 적용과 보조기기 검증은 아직 하지 않았다(§8).
목표 수준: WCAG 2.2 AA 전 항목 + 아래 표시한 AAA 4개. 국내 기준 KWCAG 2.2(한국형 웹 콘텐츠 접근성 지침, KS X OT0003)는 WCAG 2.1 AA에 대응하므로 이 목표를 만족하면 함께 만족한다. 근거 번호는 WCAG 2.2 성공 기준(SC) 번호다.


1. 왜 끼리에 접근성이 더 중요한가

2. 원칙별 기준과 끼리 규칙

2-1. 인식 가능

SC요구끼리 규칙해당 화면 · 컴포넌트검사
1.1.1비텍스트 대체원탁 · 진행 점 · 배지 아이콘에 텍스트 대체(「6명 중 4명 답함」). 장식 아이콘은 aria-hiddenS2 · S5 · S6 · S7axe + 수동
1.3.1정보와 관계6문항은 fieldset/legend, 선택지는 라디오 또는 aria-pressed 버튼. 결과 표는 table 헤더S4-1~S4-6 · S7axe
1.3.2의미 있는 순서하단 고정 CTA는 DOM에서도 마지막. 재확인 3버튼은 동의 → 조건부 → 재조율 순S4 · S7B수동(리더 순서)
1.3.5입력 목적 식별이름 autocomplete="nickname", 입장 코드 autocomplete="one-time-code" inputmode="numeric"S1 · S3코드 검토
1.4.1색 사용상태 배지는 아이콘 + 글자 동반(✓ 전원 동의 · 시계 재확인 중 · 중립 「방장 확정」). 상한 조건은 색 + 「꼭 지켜요」 글자S7 · S8 · S9 · 결과 카드회색조 캡처 검토
1.4.3대비 4.5:1스타일 가이드 §3-4의 조합만 사용. 목업 보라 4.48:1은 금지전체빌드 시 대비 계산(가이드 표)
1.4.4200% 확대확대 시 하단 CTA가 본문을 가리지 않음, 가로 스크롤 없음S4 · S7Playwright zoom 2.0
1.4.10리플로우 320px320px에서 가로 넘침 0(문서 사이트에서 이미 검사 중)전체Playwright 320
1.4.11비텍스트 대비 3:1포커스 링 · 입력 테두리 · 3상태 버튼 경계폼 전체대비 계산
1.4.12텍스트 간격줄 간격 1.5 · 문단 2 · 자간 0.12em 적용 시 잘림 없음결과 카드 · 리포트북마클릿
1.4.13호버 · 포커스 콘텐츠툴팁은 ESC로 닫히고 포인터로 이동 가능「규칙 설명」 배지수동

2-2. 운용 가능

SC요구끼리 규칙해당 화면 · 컴포넌트검사
2.1.1 / 2.1.2키보드 · 함정 없음모든 행동은 Tab · Enter · Space · 방향키로. 모달은 포커스 가두되 ESC로 탈출M1 · M2 · S5H 확인창 · S7C키보드만 전 흐름
2.2.1시간 조절답변 마감은 방장이 정한 활동 시간이라 예외로 보지 않고 대신 리마인드 2회 + 연장 2회(P-04 · P-06)로 대응. 재확인 24시간도 같음. 세션 만료는 재인증 후 입력 유지(E4 · E5)S5 · S7B · E4시나리오 검토
2.2.2일시정지 · 정지조율 진행 애니메이션 5초 넘으면 정지 버튼 또는 prefers-reduced-motion에서 정지 이미지S6수동
2.3.1번쩍임초당 3회 이상 번쩍임 없음전체수동
2.4.1블록 건너뛰기「본문으로」 스킵 링크(문서 사이트 kk-skip 패턴 재사용)전체axe
2.4.2페이지 제목「S4-2 시간 · 9월 팀 워크숍 · 끼리」처럼 화면 · 방 · 서비스 순전체axe
2.4.3포커스 순서화면 전환 후 포커스를 h1 또는 첫 입력으로 이동. 시트 · 모달 닫으면 연 버튼으로 복귀(쏠 M1 · M2 규칙)전체수동
2.4.4링크 목적「더 보기」 금지, 「대안 두 개 더 보기」처럼 대상 명시S7수동
2.4.6제목 · 레이블문항 제목이 곧 legend. 「선호」와 「꼭 지킬 상한」을 레이블로 구분S4-2 · S4-5axe
2.4.7포커스 가시2px --private-600 링 + 2px 오프셋. 브라우저 기본 링 제거 금지전체수동
2.4.11포커스 가려짐 없음(2.2 신설)하단 고정 CTA · 스티키 헤더가 포커스 요소를 덮지 않게 scroll-padding 지정S4 · S7Playwright 포커스 위치 측정
2.5.1 / 2.5.7포인터 제스처 · 드래그 대체(2.2 신설)목적 1·2순위는 드래그 정렬 대신 「1순위로」 「2순위로」 버튼S4-3코드 검토
2.5.3이름에 레이블 포함보이는 글자가 접근 가능한 이름의 앞부분버튼 전체axe
2.5.8타깃 크기 24px(2.2 신설)끼리 기준은 44×44 이상, 선택지 간격 8px 이상(가이드 §11 유지)전체Playwright 크기 측정
2.5.5 (AAA)타깃 44px위와 같음 — 채택전체같음

2-3. 이해 가능

SC요구끼리 규칙해당 화면 · 컴포넌트검사
3.1.1페이지 언어<html lang="ko">, 영문 배지(NEXT 등)는 lang="en"전체axe
3.2.1 / 3.2.2포커스 · 입력 시 맥락 변경 없음선택지를 고르는 순간 다음 문항으로 자동 이동하지 않음. 「다음 질문」 버튼으로만S4수동
3.2.3 / 3.2.4일관된 탐색 · 식별상단 백 · 하단 CTA 위치 고정. 같은 기능은 같은 이름(「내 답변 확인」)전체수동
3.2.6일관된 도움말(2.2 신설)문의 창구 링크를 모든 화면 푸터 같은 자리에전체수동
3.3.1 / 3.3.3오류 식별 · 제안「상한이 선호보다 짧아요. 상한을 하루 이상으로」처럼 필드 옆에 글로. 색만 쓰지 않음. aria-describedby 연결S4-2 · S4-5 · S7Baxe + 수동
3.3.2레이블 · 지시필수 표시는 「(선택)」을 표시하는 방식으로 뒤집음 — Q6만 선택S4수동
3.3.4오류 방지(법적 · 데이터)제출 · 재조율 요청 · 확정은 확인 단계(S4R · S7C) 필수, 백키로 취소되지 않음(쏠 백키 규칙)S4R · S7B · S7C시나리오
3.3.7중복 입력 없음(2.2 신설)이전 문항 값은 뒤로 가도 유지(쏠 백키 매트릭스). 재입장 시 서버 상태 복원S4 · S5Playwright 백키
3.3.8접근 가능한 인증(2.2 신설)6자리 코드는 붙여넣기 · 자동완성 허용, 인지 테스트(캡차) 없음. 개인 링크는 입력 없이 입장S3수동
3.1.5 (AAA)읽기 수준스타일 가이드 금지어 표 + 한 문장 20자 안팎 — 채택문구 전체문구 검토

2-4. 견고성

SC요구끼리 규칙해당 화면 · 컴포넌트검사
4.1.2이름 · 역할 · 값3상태 응답 버튼 aria-pressed, 상한 토글 role="switch" aria-checked, 모달 role="dialog" aria-modal aria-labelledby폼 · 모달axe
4.1.3상태 메시지조율 진행 4단계 aria-live="polite", 저장 실패 · 제출 오류는 role="alert". 「저장됐어요」는 성공 확인 후에만(쏠 E5)S6 · S4 · E5수동(리더)
2.2.6 (AAA)시간 초과 예고세션 · 재확인 마감 임박을 미리 알림 — 채택(리마인드 규칙과 일치)S5 · S7B시나리오

3. 컴포넌트별 명세 (스타일 가이드 §8 컴포넌트 10종에 대응)

컴포넌트역할 · 속성키보드리더가 읽는 예
주 버튼 · 보조 버튼button, 비활성은 aria-disabled="true" + 이유 텍스트(disabled 대신, 포커스 유지)Enter · Space「초대방 만들기, 버튼, 사용 불가: 인원을 3명 이상으로」
3상태 응답(동의 · 조건부 · 재조율)role="radiogroup" + 라디오 3개, 또는 버튼 3개 aria-pressed방향키(라디오) / Tab「조건부로 동의해요, 라디오, 3개 중 2, 선택됨」
상한(거부권) 토글role="switch" aria-checked, 레이블 「꼭 지킬 상한」 + 현재 값Space「꼭 지킬 상한, 스위치, 켜짐, 하루」
순위 선택(목적 1·2)항목마다 「1순위로」 「2순위로」 버튼, 현재 순위 텍스트Tab · Enter「팀워크, 현재 1순위. 2순위로 바꾸기, 버튼」
자유서술 입력textarea + aria-describedby(도움말 · 글자 수)기본「피하고 싶은 것, 선택 사항, 편집 영역, 도움말: 이유는 적지 않아도 돼요」
구조화 확인 카드카드마다 group + 태그 이름 + 「수정」 「삭제」 버튼Tab「술 없는 일정, 꼭 지켜요. 수정, 버튼」
조율 진행 4단계ol + 현재 단계 aria-current="step", 컨테이너 aria-live="polite"—「2단계 꼭 지킬 조건 확인, 현재 단계」
결과 · 후보 카드article + h3 후보명, 상태 배지는 텍스트 포함, 점수는 「최저 62 · 평균 78」 숫자 텍스트Tab「양평 리트릿 워크숍, 추천. 재확인 중. 지켜진 조건 5건」
내 리포트 행ul 항목 + 아이콘 텍스트 대체(「지켜짐」 「선호와 다름」)—「내 시간 상한은 지켜졌어요, 지켜짐」
모달 · 시트(M1 · M2 · S5H 확인 · S7C)role="dialog" aria-modal="true" aria-labelledby, 초기 포커스 = 취소, 포커스 가두기, ESC = 닫기, 닫으면 연 버튼으로 복귀Tab 순환 · ESC「작성 중인 내용이 있어요, 대화상자. 계속 작성하기, 버튼」

4. 화면별 우선 검사 항목 (쏠 A안 27개 화면)

화면반드시 볼 것
S0 · S1 · S1Q제목 · 레이블(2.4.6), 스테퍼 버튼 크기(2.5.8), 오류 문구(3.3.1)
S2 · M2공유 시트 포커스 복귀(2.4.3), 복사 실패 대체 텍스트(4.1.3)
S3 · E1 · E4코드 입력 자동완성 · 붙여넣기(3.3.8 · 1.3.5), 오류 식별(3.3.1)
S4-1~S4-6 · S4R · M1fieldset/legend(1.3.1), 자동 이동 금지(3.2.2), 백키 값 유지(3.3.7), 하단 CTA 가림(2.4.11), 드래그 대체(2.5.7)
S5 · S5H · E2진행 점 텍스트 대체(1.1.1), 확인창 dialog(4.1.2), 마감 임박 알림(2.2.6)
S6 · E3 · E5live region(4.1.3), 모션 정지(2.2.2), 오류 재시도 포커스
S7 · S8 · S7B · S7C · S9색 이외 상태 표시(1.4.1), 배지 텍스트(4.1.2), 확정 확인 단계(3.3.4), 리포트 읽기 순서(1.3.2)

5. 문구 규칙 (이해 가능 원칙의 끼리 적용)

6. 검사 방법과 인수 기준

단계도구언제인수 기준
자동axe-core(Playwright 주입) 27개 화면 × 3폭(1440 · 390 · 320)매 빌드critical · serious 위반 0
대비스타일 가이드 §3-4 계산 스크립트토큰 변경 시본문 4.5:1 · UI 3:1 전부 통과
키보드사람이 마우스 없이 방 만들기 → 답변 → 재확인 → 확정 전 흐름화면 완성 시 · 릴리스마다막히는 곳 0, 포커스 가시 100%
리더iOS VoiceOver + Safari, macOS VoiceOver, Android TalkBack + Chrome릴리스마다§3의 「리더가 읽는 예」와 뜻이 같게 읽힘
확대 · 리플로우브라우저 200% · 320px · 텍스트 간격 북마클릿릴리스마다가로 넘침 0, 잘림 0
모션prefers-reduced-motion: reduce릴리스마다5초 초과 자동 모션 없음
사용자저시력 · 리더 사용자 각 1명 이상 파일럿(문제 정의 §5 인터뷰와 함께)파일럿 단계과업 완료율을 일반 사용자와 비교해 기록(목표치는 측정 후 정함)

7. 스타일 가이드 §11과의 관계

§11 체크리스트 9줄은 그대로 유효하며 이 문서 §2의 부분집합이다. 새로 더한 것: WCAG 2.2 신설 항목 5개(2.4.11 · 2.5.7 · 2.5.8 · 3.2.6 · 3.3.7 · 3.3.8 중 해당분), 인증(6자리 코드) 규칙, 시간 제한 처리 방침, 컴포넌트별 ARIA 명세, 화면별 우선 검사, 검사 도구와 인수 기준.

8. 아직 하지 않은 것 (정직하게)

근거