접근성 수정 리포트 샘플입니다. 흔한 접근성 결함을 넣어 저희가 만든 가상의 쇼핑몰 Harbor & Pine의 결과입니다. 여러분의 웹사이트를 스캔하는 엔진과 같은 엔진으로 테스트했습니다.

무료로 웹사이트 스캔하기

접근성 수정 리포트 샘플

harborandpine.example

플랫폼:
Shopify
생성일:
2026년 9월 24일
테스트 페이지:
9
엔진:
axe-core 4.13.0

요약

자동화 테스트는 사이트의 접근성 문제를 모두 찾지 못하고 일부만 찾아냅니다. 이 리포트는 테스트에서 발견한 내용과 수정 방법을 설명합니다. 법률 자문이 아니며, ADA, 유럽 접근성법 또는 어떤 법률에 대한 준수도 인증하지 않습니다.

개요

P1 · 먼저 수정주요 페이지에서 방문자를 가로막음
8
P2 · 다음에 수정심각하거나 보통 수준의 장벽
0
P3 · 개선경미한 문제와 권장 사례
2

심각도별 발생 횟수

치명적
73
심각
58
보통
25
경미
0
확인된 실패자동화 테스트에서 실패한 문제 유형
10
검토 필요표시되었지만 사람의 판단이 필요함
4
통과한 점검실패가 없는 자동 규칙
32
테스트하지 않음탐색 단계와 수동 점검
7

페이지 9개를 테스트했으며, 그중 4개는 사이트맵에서 표본으로 골랐습니다. 목표 날짜는 심각도에 따른 제안이므로 최종 날짜는 개발자와 협의하십시오.

웹사이트 개요

테스트한 페이지의 공개된 근거로 판별했습니다. 분류는 틀릴 수 있으며, 어떤 추가 점검을 실행할지 정하는 데에만 쓰입니다.

웹사이트 유형

  • 온라인 쇼핑몰신뢰도 높음
    • 쇼핑몰 플랫폼인 Shopify 사용
    • 장바구니 링크
    • 상품 또는 쇼핑 링크
  • 랜딩 페이지신뢰도 보통
    • 링크된 내부 페이지가 6개뿐

감지된 기술

  • Shopify신뢰도 높음

    페이지의 Shopify 리소스 또는 스크립트

이 사이트에 적용하는 점검

  • 공통 점검: 접근성, SEO, 속도, 보안, 이메일
  • 전자상거래 모듈: 컬렉션, 상품, 장바구니 페이지와 결제 버튼까지의 키보드 쇼핑 탐색
  • Shopify 참고 사항: 테마와 관리자 화면의 수정 단계, 플랫폼이 관리하는 헤더와 쿠키는 참고용으로 표시

키보드 쇼핑 탐색

마우스를 쓸 수 없는 사람처럼 키보드(Tab, Shift+Tab, Enter, Space, Escape)만으로 쇼핑해 보았습니다. 일회용 세션에서 상품 하나를 장바구니에 담고 결제 버튼에서 멈춥니다. 결제 단계에 들어가거나 개인정보나 결제 정보를 입력하는 일은 절대 없습니다. 목표: 키보드만으로 홈페이지에서 결제 버튼까지 이동합니다.

  1. 01주 메뉴 도달

    통과

    Tab 키를 21회 누르자 포커스가 메뉴의 “Shop”에 도달했습니다.

    예상: 홈페이지 맨 위에서 Tab 키를 누르면 주 메뉴의 링크에 도달합니다.

    • 참고: “Accept all”에서 Enter 키를 누를 때까지 쿠키 배너가 키보드 포커스를 붙잡고 있었습니다.
    재현 방법

    https://harborandpine.example/

    1. 홈페이지를 여십시오.
    2. 브라우저 주소 표시줄을 클릭한 다음 Tab 키를 반복해서 누르십시오(Shift+Tab을 누르면 뒤로 이동합니다).

    관찰한 포커스 순서

    “Shop”

  2. 02컬렉션에서 상품 열기

    통과

    Tab 키를 9회 누르자 포커스가 “Trail Daypack 22L”에 도달했고, Enter 키로 /products/trail-daypack 페이지가 열렸습니다.

    예상: Tab 키로 컬렉션 그리드의 상품에 도달하고, Enter 키로 상품 페이지를 엽니다.

    재현 방법

    https://harborandpine.example/collections/all

    1. /collections/all 페이지를 여십시오.
    2. 그리드의 상품이 강조 표시될 때까지 Tab 키를 누른 다음 Enter 키를 누르십시오.

    관찰한 포커스 순서

    “Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → body > header.site > div.icons > button → “Account” → body > header.site > div.icons > a → “FeaturedPrice, low to highPrice, high to low” → “Trail Daypack 22L”

  3. 03옵션과 수량 선택

    실패

    상품 옵션 3개가 키보드 포커스를 받을 수 없습니다: “S”, “M”, “L”. 마우스에는 반응하지만 키보드 사용자는 선택할 수 없습니다.

    예상: 모든 상품 옵션(사이즈, 색상, 변형)과 수량 필드에 Tab 키로 도달할 수 있습니다.

    2.1.1 키보드 · 신뢰도: 높음

    옵션과 수량 선택: 실패한 요소를 윤곽선으로 표시
    옵션과 수량 선택: 실패한 요소를 윤곽선으로 표시
    재현 방법

    https://harborandpine.example/products/trail-daypack

    1. /products/trail-daypack 페이지를 여십시오.
    2. 페이지 맨 위에서 Tab 키를 누르며 장바구니 담기 전에 어떤 컨트롤이 포커스를 받는지 기록하십시오.

    관찰한 포커스 순서

    “Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → … 외 5개 … → body > header.site > div.icons > a → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → “1” → “Add to cart”

    요소
    <div class="size-option" data-fr="opt-1">S</div>
  4. 04키보드로 장바구니에 담기

    검토 필요

    장바구니 담기에서 Enter 키는 작동했지만(헤더의 장바구니 수량 변경, “장바구니에 담김” 메시지 표시), 상태 메시지나 포커스를 받은 대화 상자를 찾지 못했으므로 스크린 리더 사용자는 상품이 담겼다는 사실을 듣지 못할 수 있습니다.

    예상: 장바구니 담기 버튼에서 Enter 키를 누르면 상품이 담기고, 상태 메시지, 포커스를 받는 대화 상자 또는 장바구니 페이지로 확인 내용이 안내됩니다.

    4.1.3 상태 메시지 · 신뢰도: 보통

    키보드로 장바구니에 담기: 이 단계의 페이지
    키보드로 장바구니에 담기: 이 단계의 페이지
    재현 방법

    https://harborandpine.example/products/trail-daypack

    1. /products/trail-daypack 페이지를 여십시오.
    2. 장바구니 담기에 포커스가 갈 때까지 Tab 키를 누른 다음 Enter 키를 누르십시오.
    3. 스크린 리더(VoiceOver: Cmd+F5)로 확인 안내가 나오는지 들어 보십시오.
  5. 05장바구니 변경 후 결제로 이동

    통과

    Tab 12회로 장바구니 컨트롤 4개 모두와 결제 버튼(“Check out”)에 도달했습니다. 결제 버튼은 누르지 않았습니다.

    예상: 수량 필드, 삭제 버튼, 결제 버튼에 모두 Tab 키로 도달할 수 있습니다.

    재현 방법

    https://harborandpine.example/cart

    1. 아무 상품이나 장바구니에 담고 장바구니 페이지를 여십시오.
    2. Tab 키를 누르며 수량 필드, 삭제 버튼, 결제 버튼이 모두 포커스를 받는지 확인하십시오.

    관찰한 포커스 순서

    “Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → body > header.site > div.icons > button → “Account” → body > header.site > div.icons > a → “1” → tbody > tr > td > button.remove → “2” → tbody > tr > td > button.remove → “Check out”

  6. 06결제

    테스트하지 않음

    테스트는 결제 버튼에서 멈춥니다. 결제 단계에 들어가거나, 주문을 만들거나, 결제 정보를 입력하는 일은 절대 없습니다. Shopify에서는 결제 페이지를 테마가 아니라 Shopify가 운영합니다. 결제 과정은 직접 확인하십시오(수동 점검 참고).

요구서 주장 대조표

요구서의 각 주장을 스캔 증거와 대조했습니다. 사실에 근거한 비교이며 법률 자문이 아닙니다.

  • “Images lack alternative text, so product photos are not described.”

    대체 텍스트가 없는 이미지. 테스트한 페이지 5개 중 3개에서 10건이 발견되었습니다.

    image-alt

    재현됨
  • “Text has insufficient color contrast against its background, including sale badges and prices.”

    낮은 색상 대비. 테스트한 페이지 5개 중 5개에서 16건이 발견되었습니다.

    color-contrast

    재현됨
  • “The website cannot be navigated using a keyboard alone.”

    키보드 접근과 포커스. 키보드 포커스가 쿠키 배너에 갇힙니다.

    재현됨
  • “Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”

    레이블이 없는 양식 필드. 테스트한 페이지 5개 중 3개에서 4건이 발견되었습니다.

    select-name, label

    재현됨
  • “Product videos do not have captions.”

    동영상과 오디오 자막. 자동 스캔으로는 자막을 판단할 수 없습니다. 모든 상품 동영상과 브랜드 동영상에 정확한 자막과 대본이 있는지 확인하십시오.

    수동 확인
  • “Our client is legally blind and uses screen reader software.”

    기타 문제. 일반적인 주장입니다. VoiceOver나 NVDA 같은 스크린 리더로 주요 흐름(검색, 상품 페이지, 장바구니 담기, 결제)을 테스트하십시오.

    수동 확인

수정 계획

담당자와 목표 날짜를 포함한 우선순위별 문제
우선순위문제상태WCAG발생 횟수담당목표 날짜
P1키보드 포커스가 쿠키 배너에 갇힘확인됨2.1.21앱 개발사2026-10-08
P1키보드로 상품 옵션을 선택할 수 없음확인됨2.1.11테마 개발자2026-10-08
P1버튼에 반드시 인식 가능한 텍스트가 있어야 합니다확인됨4.1.241테마 개발자2026-10-08
P1이미지는 반드시 대체텍스트를 가져야 합니다확인됨1.1.122콘텐츠 편집자2026-10-08
P1form 엘리먼트는 반드시 레이블을 가져야 합니다확인됨4.1.27테마 개발자2026-10-08
P1select 엘리먼트는 반드시 접근 가능한 이름을 가져야 합니다확인됨4.1.21테마 개발자2026-10-08
P1링크는 반드시 인식 가능한 텍스트를 가져야 합니다확인됨2.4.4, 4.1.236테마 개발자2026-10-08
P1엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다확인됨1.4.322스토어 운영자(관리자 설정)2026-10-08
P3모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다확인됨권장 사례18테마 개발자2026-11-23
P3제목 수준은 한 단계씩 증가해야만 합니다확인됨권장 사례7테마 개발자2026-11-23

문제별 수정 방법

P1치명적확인된 실패WCAG 2.1.2

키보드 포커스가 쿠키 배너에 갇힘

작업량: 보통 · 담당: 앱 개발사 · 2.1.2 키보드 트랩 없음

키보드 사용자가 Tab 키를 누르면 포커스가 몇 개 요소 사이를 맴돌 뿐 페이지의 나머지 부분에 도달하지 못합니다.

포커스가 갇히면 키보드만 사용하는 사람과 스크린 리더 사용자는 쇼핑을 전혀 할 수 없습니다(WCAG 2.1.2 키보드 트랩 없음).

증거

발견 방법
키보드 테스트(홈페이지에서 Tab 키로 이동)
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 1개에서 1건

예상: Tab 키를 누르면 페이지의 모든 대화형 요소를 거쳐 페이지의 나머지 부분으로 이동합니다.

관찰: Tab 키를 40번 누른 뒤에도 포커스가 계속 다음 요소 사이를 맴돌았습니다: Settings, Accept all.

재현 방법
  1. 홈페이지를 여십시오.
  2. 주소 표시줄을 클릭한 다음 Tab 키를 반복해서 누르십시오.
  3. 포커스가 계속 같은 몇 개 요소로 되돌아옵니다.
실패한 요소(6개 표시)
button#cc-settings
Settings
button#cc-accept.primary
Accept all
button#cc-settings
Settings
button#cc-accept.primary
Accept all
button#cc-settings
Settings
button#cc-accept.primary
Accept all
영향을 받는 페이지(1)
  • https://harborandpine.example/

수정 방법

일반 안내
  1. 쿠키 또는 동의 배너 앱의 설정에 접근성이나 포커스 트랩 관련 옵션이 있는지 확인하거나, 앱 개발사에 수정을 요청하십시오.
  2. 모달은 열려 있는 동안에만 포커스를 내부에 둘 수 있으며, Escape 키로 닫히고 포커스를 원래 위치로 되돌려야 합니다.
AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 키보드 포커스가 쿠키 배너에 갇힘(WCAG 2.1.2).
위치: 페이지 1개에서 1건, 예: /.

브라우저가 렌더링한 실패 요소 하나:
```html
Settings
```

중요한 이유: 포커스가 갇히면 키보드만 사용하는 사람과 스크린 리더 사용자는 쇼핑을 전혀 할 수 없습니다(WCAG 2.1.2 키보드 트랩 없음).

변경해야 할 내용:
- 쿠키 또는 동의 배너 앱의 설정에 접근성이나 포커스 트랩 관련 옵션이 있는지 확인하거나, 앱 개발사에 수정을 요청하십시오.
- 모달은 열려 있는 동안에만 포커스를 내부에 둘 수 있으며, Escape 키로 닫히고 포커스를 원래 위치로 되돌려야 합니다.

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 홈페이지를 불러와 Tab 키를 반복해서 누르고, 포커스가 주 내비게이션과 본문에 도달하는지 확인하십시오.

자동 키보드 테스트로 감지했습니다. 직접 확인하십시오.

P1치명적확인된 실패WCAG 2.1.1

키보드로 상품 옵션을 선택할 수 없음

작업량: 보통 · 담당: 테마 개발자 · 2.1.1 키보드

사이즈, 색상 등의 옵션이 마우스에는 반응하지만 키보드 포커스를 받을 수 없어, 키보드 사용자가 옵션을 선택할 수 없습니다.

많은 스크린 리더 사용자를 포함해 키보드만 사용하는 쇼핑객은 이 단계를 넘어갈 수 없습니다(WCAG 2.1.1).

증거

발견 방법
키보드 탐색
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 1개에서 1건

예상: 모든 상품 옵션(사이즈, 색상, 변형)과 수량 필드에 Tab 키로 도달할 수 있습니다.

관찰: 상품 옵션 3개가 키보드 포커스를 받을 수 없습니다: “S”, “M”, “L”. 마우스에는 반응하지만 키보드 사용자는 선택할 수 없습니다.

키보드로 상품 옵션을 선택할 수 없음: 윤곽선으로 표시한 요소
키보드로 상품 옵션을 선택할 수 없음: 윤곽선으로 표시한 요소
재현 방법
  1. /products/trail-daypack 페이지를 여십시오.
  2. 페이지 맨 위에서 Tab 키를 누르며 장바구니 담기 전에 어떤 컨트롤이 포커스를 받는지 기록하십시오.
실패한 요소(1개 표시)
(스크린샷 참조)
<div class="size-option" data-fr="opt-1">S</div>
영향을 받는 페이지(1)
  • https://harborandpine.example/products/trail-daypack

수정 방법

일반 안내
  1. 옵션 선택기를 보이는 레이블이 있는 기본 라디오 버튼(또는 <select>)으로 만들고, 레이블에 견본 스타일을 적용하십시오.
  2. 사용자 지정 요소를 유지한다면 각 옵션에 tabindex="0", role="radiogroup" 안에서 aria-checked가 있는 role="radio", 화살표 키와 Space 키 처리가 필요합니다. 기본 라디오 버튼을 쓰면 이 모든 기능이 기본으로 제공됩니다.

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 테마의 상품 양식(옵션 선택기)
<div class="size-option" data-fr="opt-1">S</div>
수정 후 · 수정해서 쓸 예시
<fieldset class="variant-picker">
  <legend>Size</legend>
  <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
  <label for="size-s" class="size-option">S</label>
  <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
  <label for="size-m" class="size-option">M</label>
</fieldset>

각 옵션이 실제 라디오 버튼이 되어 Tab 키로 도달하고 화살표 키로 바꿀 수 있으며, 레이블은 기존 견본 스타일을 유지합니다. 실제 옵션 이름과 값을 사용하십시오.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 키보드로 상품 옵션을 선택할 수 없음(WCAG 2.1.1).
위치: 페이지 1개에서 1건, 예: /products/trail-daypack.

브라우저가 렌더링한 실패 요소 하나:
```html
<div class="size-option" data-fr="opt-1">S</div>
```

중요한 이유: 많은 스크린 리더 사용자를 포함해 키보드만 사용하는 쇼핑객은 이 단계를 넘어갈 수 없습니다(WCAG 2.1.1).

변경해야 할 내용:
- 옵션 선택기를 보이는 레이블이 있는 기본 라디오 버튼(또는 <select>)으로 만들고, 레이블에 견본 스타일을 적용하십시오.
- 사용자 지정 요소를 유지한다면 각 옵션에 tabindex="0", role="radiogroup" 안에서 aria-checked가 있는 role="radio", 화살표 키와 Space 키 처리가 필요합니다. 기본 라디오 버튼을 쓰면 이 모든 기능이 기본으로 제공됩니다.

제안하는 변경 사항(테마의 상품 양식(옵션 선택기)):
```html
<fieldset class="variant-picker">
  <legend>Size</legend>
  <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
  <label for="size-s" class="size-option">S</label>
  <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
  <label for="size-m" class="size-option">M</label>
</fieldset>
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 키보드만 사용해 재현 단계를 반복하십시오.
  • 이 리포트에서 재테스트를 요청하십시오. 탐색이 다시 실행됩니다.
P1치명적확인된 실패WCAG 4.1.2

버튼에 반드시 인식 가능한 텍스트가 있어야 합니다

작업량: 적음 · 담당: 테마 개발자 · 4.1.2 이름, 역할, 값

일부 버튼에 접근 가능한 이름이 없어 스크린 리더 사용자에게는 ‘버튼’이라고만 들립니다.

WCAG 4.1.2는 모든 컨트롤에 이름이 있어야 한다고 요구합니다. 이름 없는 버튼은 수량 조절 버튼, 닫기 버튼, 슬라이더 화살표인 경우가 많습니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 9개에서 41건

예상: 버튼에 반드시 인식 가능한 텍스트가 있어야 합니다

관찰: 엘리먼트에 스크린리더에 노출되는 내부 텍스트가 없습니다. aria-label 어트리뷰트가 없거나 비어있습니다. aria-labelledby 어트리뷰트가 없거나, 존재하지 않는 엘리먼트를 참조하고 있거나, 비어있는 엘리먼트를 참조하고 있습니다. 엘리먼트에 title 어트리뷰트가 없습니다. form 엘리먼트에 암묵적인(감싸는) <label>이 없습니다. form 엘리먼트에 명시적인 <label>이 없습니다. 엘리먼트의 기본 의미론이 role="none"이나 role="presentation"으로 재정의되지 않았습니다.

버튼에 반드시 인식 가능한 텍스트가 있어야 합니다: /에서 윤곽선으로 표시한 요소
버튼에 반드시 인식 가능한 텍스트가 있어야 합니다: /에서 윤곽선으로 표시한 요소
버튼에 반드시 인식 가능한 텍스트가 있어야 합니다: /collections/all에서 윤곽선으로 표시한 요소
버튼에 반드시 인식 가능한 텍스트가 있어야 합니다: /collections/all에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: .icons > button[type="button"]
  3. 개발자 도구의 접근성 창에서 요소의 계산된 이름(Name)이 비어 있습니다.
  4. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “button-name” 항목으로 보고됩니다.
실패한 요소(4개 표시)
.icons > button[type="button"]
<button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button>
.thumbs > button:nth-child(1)
<button type="button"><img src="/img/daypack.svg"></button>
.thumbs > button:nth-child(2)
<button type="button"><img src="/img/jacket.svg"></button>
.thumbs > button:nth-child(3)
<button type="button"><img src="/img/bottle.svg"></button>
영향을 받는 페이지(9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

수정 방법

페이지 마크업으로 만든 코드
  1. 아래 예시에서 해당 버튼을 찾으십시오.
  2. 버튼의 기능을 알려 주는 보이는 텍스트, 시각적으로 숨긴 텍스트 또는 aria-label을 추가하십시오(예: aria-label="Close" 또는 aria-label="Increase quantity").

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<button type="button">…</button>
수정 후 · 실패한 요소로 작성
<button type="button" aria-label="[What this button does]">…</button>

대괄호 안의 텍스트를 버튼의 기능으로 바꾸십시오. 버튼 안에 보이는 텍스트나 시각적으로 숨긴 텍스트를 넣어도 됩니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<button type="button"><img src="/img/daypack.svg"></button>
수정 후 · 실패한 요소로 작성
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/daypack.svg"></button>

대괄호 안의 텍스트를 버튼의 기능으로 바꾸십시오. 버튼 안에 보이는 텍스트나 시각적으로 숨긴 텍스트를 넣어도 됩니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<button type="button"><img src="/img/jacket.svg"></button>
수정 후 · 실패한 요소로 작성
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/jacket.svg"></button>

대괄호 안의 텍스트를 버튼의 기능으로 바꾸십시오. 버튼 안에 보이는 텍스트나 시각적으로 숨긴 텍스트를 넣어도 됩니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<button type="button"><img src="/img/bottle.svg"></button>
수정 후 · 실패한 요소로 작성
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/bottle.svg"></button>

대괄호 안의 텍스트를 버튼의 기능으로 바꾸십시오. 버튼 안에 보이는 텍스트나 시각적으로 숨긴 텍스트를 넣어도 됩니다.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 버튼에 반드시 인식 가능한 텍스트가 있어야 합니다(WCAG 4.1.2).
위치: 페이지 9개에서 41건, 예: /, /collections/all, /products/trail-daypack, /cart.

브라우저가 렌더링한 실패 요소 하나:
```html
<button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button>
```

중요한 이유: WCAG 4.1.2는 모든 컨트롤에 이름이 있어야 한다고 요구합니다. 이름 없는 버튼은 수량 조절 버튼, 닫기 버튼, 슬라이더 화살표인 경우가 많습니다.

변경해야 할 내용:
- 아래 예시에서 해당 버튼을 찾으십시오.
- 버튼의 기능을 알려 주는 보이는 텍스트, 시각적으로 숨긴 텍스트 또는 aria-label을 추가하십시오(예: aria-label="Close" 또는 aria-label="Increase quantity").

제안하는 변경 사항(테마 코드(표시된 마크업으로 검색하십시오)):
```html
<button type="button" aria-label="[What this button does]">…</button>
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 해당 페이지를 다시 스캔하십시오.
  • 스크린 리더로 버튼을 확인하십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/button-name?application=playwright

P1치명적확인된 실패WCAG 1.1.1

이미지는 반드시 대체텍스트를 가져야 합니다

작업량: 보통 · 담당: 콘텐츠 편집자 · 1.1.1 텍스트가 아닌 콘텐츠

이미지에 대체 텍스트가 없어 스크린 리더 사용자는 이미지가 무엇을 보여 주는지 알 수 없습니다.

WCAG 1.1.1은 의미 있는 이미지에 대체 텍스트를 요구합니다. 대체 텍스트가 없으면 스크린 리더 사용자는 사진이 어떤 상품인지 알 수 없습니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 7개에서 22건

예상: 이미지는 반드시 대체텍스트를 가져야 합니다

관찰: 엘리먼트에 alt 어트리뷰트가 없습니다. aria-label 어트리뷰트가 없거나 비어있습니다. aria-labelledby 어트리뷰트가 없거나, 존재하지 않는 엘리먼트를 참조하고 있거나, 비어있는 엘리먼트를 참조하고 있습니다. 엘리먼트에 title 어트리뷰트가 없습니다. 엘리먼트의 기본 의미론이 role="none"이나 role="presentation"으로 재정의되지 않았습니다.

이미지는 반드시 대체텍스트를 가져야 합니다: /에서 윤곽선으로 표시한 요소
이미지는 반드시 대체텍스트를 가져야 합니다: /에서 윤곽선으로 표시한 요소
이미지는 반드시 대체텍스트를 가져야 합니다: /collections/all에서 윤곽선으로 표시한 요소
이미지는 반드시 대체텍스트를 가져야 합니다: /collections/all에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: img[src$="hero-photo.jpg"]
  3. 개발자 도구의 접근성 창에서 요소의 계산된 이름(Name)이 비어 있습니다.
  4. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “image-alt” 항목으로 보고됩니다.
실패한 요소(4개 표시)
img[src$="hero-photo.jpg"]
<img src="/img/hero-photo.jpg" loading="lazy">
img[src$="mug.svg"]
<img src="/img/mug.svg">
img[src$="beanie.svg"]
<img src="/img/beanie.svg">
img[src$="jacket.svg"]
<img src="/img/jacket.svg">
영향을 받는 페이지(7)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

수정 방법

페이지 마크업으로 만든 코드
  1. Shopify 관리자에서 제품 > [상품] > 미디어를 열고 각 이미지를 클릭해 ‘대체 텍스트’를 입력하십시오. 섹션 이미지는 온라인 스토어 > 테마 > 사용자 지정을 열고 섹션 설정에서 이미지 대체 텍스트를 설정하십시오.
  2. 상품명, 색상, 보이는 각도처럼 쇼핑객에게 중요한 내용을 설명하십시오(예: ‘올리브색 캔버스 토트백, 정면’).
  3. 장식용 이미지는 스크린 리더가 건너뛰도록 빈 alt 속성(alt="")을 사용해야 합니다.

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 상품 사진: Shopify 관리자 › 제품 › 미디어 › 대체 텍스트. 그 밖의 이미지: 테마 코드
<img src="/img/hero-photo.jpg" loading="lazy">
수정 후 · 실패한 요소로 작성
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">

이미지가 보여 주는 내용을 설명하십시오(상품 사진이라면 상품, 색상, 각도). 이미지가 순전히 장식용이라면 스크린 리더가 건너뛰도록 대신 alt="" 속성을 사용하십시오.

수정 전 · 발견한 내용 · 상품 사진: Shopify 관리자 › 제품 › 미디어 › 대체 텍스트. 그 밖의 이미지: 테마 코드
<img src="/img/mug.svg">
수정 후 · 실패한 요소로 작성
<img src="/img/mug.svg" alt="[Describe the image for a shopper]">

이미지가 보여 주는 내용을 설명하십시오(상품 사진이라면 상품, 색상, 각도). 이미지가 순전히 장식용이라면 스크린 리더가 건너뛰도록 대신 alt="" 속성을 사용하십시오.

수정 전 · 발견한 내용 · 상품 사진: Shopify 관리자 › 제품 › 미디어 › 대체 텍스트. 그 밖의 이미지: 테마 코드
<img src="/img/beanie.svg">
수정 후 · 실패한 요소로 작성
<img src="/img/beanie.svg" alt="[Describe the image for a shopper]">

이미지가 보여 주는 내용을 설명하십시오(상품 사진이라면 상품, 색상, 각도). 이미지가 순전히 장식용이라면 스크린 리더가 건너뛰도록 대신 alt="" 속성을 사용하십시오.

수정 전 · 발견한 내용 · 상품 사진: Shopify 관리자 › 제품 › 미디어 › 대체 텍스트. 그 밖의 이미지: 테마 코드
<img src="/img/jacket.svg">
수정 후 · 실패한 요소로 작성
<img src="/img/jacket.svg" alt="[Describe the image for a shopper]">

이미지가 보여 주는 내용을 설명하십시오(상품 사진이라면 상품, 색상, 각도). 이미지가 순전히 장식용이라면 스크린 리더가 건너뛰도록 대신 alt="" 속성을 사용하십시오.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 이미지는 반드시 대체텍스트를 가져야 합니다(WCAG 1.1.1).
위치: 페이지 7개에서 22건, 예: /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie.

브라우저가 렌더링한 실패 요소 하나:
```html
<img src="/img/hero-photo.jpg" loading="lazy">
```

중요한 이유: WCAG 1.1.1은 의미 있는 이미지에 대체 텍스트를 요구합니다. 대체 텍스트가 없으면 스크린 리더 사용자는 사진이 어떤 상품인지 알 수 없습니다.

변경해야 할 내용:
- Shopify 관리자에서 제품 > [상품] > 미디어를 열고 각 이미지를 클릭해 ‘대체 텍스트’를 입력하십시오. 섹션 이미지는 온라인 스토어 > 테마 > 사용자 지정을 열고 섹션 설정에서 이미지 대체 텍스트를 설정하십시오.
- 상품명, 색상, 보이는 각도처럼 쇼핑객에게 중요한 내용을 설명하십시오(예: ‘올리브색 캔버스 토트백, 정면’).
- 장식용 이미지는 스크린 리더가 건너뛰도록 빈 alt 속성(alt="")을 사용해야 합니다.

제안하는 변경 사항(상품 사진: Shopify 관리자 › 제품 › 미디어 › 대체 텍스트. 그 밖의 이미지: 테마 코드):
```html
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 해당 페이지를 다시 스캔하십시오.
  • 스크린 리더(Mac의 VoiceOver: Cmd+F5)로 상품 이미지가 어떻게 읽히는지 들어 보십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright

P1치명적확인된 실패WCAG 4.1.2

form 엘리먼트는 반드시 레이블을 가져야 합니다

작업량: 적음 · 담당: 테마 개발자 · 4.1.2 이름, 역할, 값

일부 양식 필드에 레이블이 없어 스크린 리더 사용자는 무엇을 입력해야 하는지 알 수 없습니다.

WCAG 1.3.1, 3.3.2, 4.1.2는 양식 필드에 레이블이 있어야 한다고 요구합니다. 뉴스레터 가입 필드와 검색 필드에서 흔히 발생합니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 6개에서 7건

예상: form 엘리먼트는 반드시 레이블을 가져야 합니다

관찰: form 엘리먼트에 암묵적인(감싸는) <label>이 없습니다. form 엘리먼트에 명시적인 <label>이 없습니다. aria-label 어트리뷰트가 없거나 비어있습니다. aria-labelledby 어트리뷰트가 없거나, 존재하지 않는 엘리먼트를 참조하고 있거나, 비어있는 엘리먼트를 참조하고 있습니다. 엘리먼트에 title 어트리뷰트가 없습니다. 엘리먼트에 placeholder 어트리뷰트가 없습니다. 엘리먼트의 기본 의미론이 role="none"이나 role="presentation"으로 재정의되지 않았습니다.

form 엘리먼트는 반드시 레이블을 가져야 합니다: /products/trail-daypack에서 윤곽선으로 표시한 요소
form 엘리먼트는 반드시 레이블을 가져야 합니다: /products/trail-daypack에서 윤곽선으로 표시한 요소
form 엘리먼트는 반드시 레이블을 가져야 합니다: /cart에서 윤곽선으로 표시한 요소
form 엘리먼트는 반드시 레이블을 가져야 합니다: /cart에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/products/trail-daypack
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: input
  3. 개발자 도구의 접근성 창에서 요소의 계산된 이름(Name)이 비어 있습니다.
  4. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “label” 항목으로 보고됩니다.
실패한 요소(2개 표시)
input
<input type="number" value="1" min="1">
input[value="2"]
<input type="number" value="2" min="1">
영향을 받는 페이지(6)
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

수정 방법

페이지 마크업으로 만든 코드
  1. 각 필드에 <label for="field-id"> 요소를 지정하거나, 최소한 aria-label을 추가하십시오.
  2. 플레이스홀더 텍스트만으로는 레이블로 인정되지 않습니다.

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<input type="number" value="1" min="1">
수정 후 · 실패한 요소로 작성
<input type="number" value="1" min="1" aria-label="Quantity">

필드에 id가 없으므로 가장 빠른 해결책은 aria-label입니다. 보이는 <label> 요소가 모두에게 더 좋습니다. 레이블 텍스트(“Quantity”)는 필드를 바탕으로 추정한 것이므로 필요하면 수정하십시오.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<input type="number" value="2" min="1">
수정 후 · 실패한 요소로 작성
<input type="number" value="2" min="1" aria-label="Quantity">

필드에 id가 없으므로 가장 빠른 해결책은 aria-label입니다. 보이는 <label> 요소가 모두에게 더 좋습니다. 레이블 텍스트(“Quantity”)는 필드를 바탕으로 추정한 것이므로 필요하면 수정하십시오.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: form 엘리먼트는 반드시 레이블을 가져야 합니다(WCAG 4.1.2).
위치: 페이지 6개에서 7건, 예: /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug.

브라우저가 렌더링한 실패 요소 하나:
```html
<input type="number" value="1" min="1">
```

중요한 이유: WCAG 1.3.1, 3.3.2, 4.1.2는 양식 필드에 레이블이 있어야 한다고 요구합니다. 뉴스레터 가입 필드와 검색 필드에서 흔히 발생합니다.

변경해야 할 내용:
- 각 필드에 <label for="field-id"> 요소를 지정하거나, 최소한 aria-label을 추가하십시오.
- 플레이스홀더 텍스트만으로는 레이블로 인정되지 않습니다.

제안하는 변경 사항(테마 코드(표시된 마크업으로 검색하십시오)):
```html
<input type="number" value="1" min="1" aria-label="Quantity">
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 다시 스캔해 label 규칙이 더 이상 실패하지 않는지 확인하십시오.
  • 각 레이블을 클릭해 해당 필드로 포커스가 이동하는지 확인하십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright

P1치명적확인된 실패WCAG 4.1.2

select 엘리먼트는 반드시 접근 가능한 이름을 가져야 합니다

작업량: 적음 · 담당: 테마 개발자 · 4.1.2 이름, 역할, 값

드롭다운(주로 정렬이나 옵션 선택기)에 레이블이 없습니다.

WCAG 4.1.2는 선택 메뉴에 접근 가능한 이름이 있어야 한다고 요구합니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 1개에서 1건

예상: select 엘리먼트는 반드시 접근 가능한 이름을 가져야 합니다

관찰: form 엘리먼트에 암묵적인(감싸는) <label>이 없습니다. form 엘리먼트에 명시적인 <label>이 없습니다. aria-label 어트리뷰트가 없거나 비어있습니다. aria-labelledby 어트리뷰트가 없거나, 존재하지 않는 엘리먼트를 참조하고 있거나, 비어있는 엘리먼트를 참조하고 있습니다. 엘리먼트에 title 어트리뷰트가 없습니다. 엘리먼트의 기본 의미론이 role="none"이나 role="presentation"으로 재정의되지 않았습니다.

select 엘리먼트는 반드시 접근 가능한 이름을 가져야 합니다: /collections/all에서 윤곽선으로 표시한 요소
select 엘리먼트는 반드시 접근 가능한 이름을 가져야 합니다: /collections/all에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/collections/all
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: select
  3. 개발자 도구의 접근성 창에서 요소의 계산된 이름(Name)이 비어 있습니다.
  4. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “select-name” 항목으로 보고됩니다.
실패한 요소(1개 표시)
select
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
영향을 받는 페이지(1)
  • https://harborandpine.example/collections/all

수정 방법

페이지 마크업으로 만든 코드
  1. select에 연결된 <label> 요소나 aria-label="Sort by" 같은 aria-label을 추가하십시오.

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
수정 후 · 실패한 요소로 작성
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>

필드에 id가 없으므로 가장 빠른 해결책은 aria-label입니다. 보이는 <label> 요소가 모두에게 더 좋습니다. 대괄호 안의 텍스트를 필드의 레이블로 바꾸십시오.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: select 엘리먼트는 반드시 접근 가능한 이름을 가져야 합니다(WCAG 4.1.2).
위치: 페이지 1개에서 1건, 예: /collections/all.

브라우저가 렌더링한 실패 요소 하나:
```html
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

중요한 이유: WCAG 4.1.2는 선택 메뉴에 접근 가능한 이름이 있어야 한다고 요구합니다.

변경해야 할 내용:
- select에 연결된 <label> 요소나 aria-label="Sort by" 같은 aria-label을 추가하십시오.

제안하는 변경 사항(테마 코드(표시된 마크업으로 검색하십시오)):
```html
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 컬렉션 페이지와 상품 페이지를 다시 스캔하십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright

P1심각확인된 실패WCAG 1.4.3

엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다

작업량: 적음 · 담당: 스토어 운영자(관리자 설정) · 1.4.3 명도 대비(최소)

일부 텍스트가 배경과 충분히 구분되지 않아 저시력인 사람이 읽기 어렵습니다.

WCAG 1.4.3은 일반 텍스트에 최소 4.5:1, 큰 텍스트에 최소 3:1의 대비율을 요구합니다. 흐릿한 가격, 배지, 배너는 저시력인 사람은 물론, 밝은 빛 아래에서는 누구에게나 읽기 어렵습니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 9개에서 22건

예상: 엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다

관찰: 엘리먼트가 3.09 (전경색: #ffffff, 배경색: #e76f51, 글꼴 크기: 9.8pt (13px), 글꼴 두께: normal)의 불충분한 명도 대비를 가집니다. 기대 명암비: 4.5:1.

엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다: /에서 윤곽선으로 표시한 요소
엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다: /에서 윤곽선으로 표시한 요소
엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다: /collections/all에서 윤곽선으로 표시한 요소
엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다: /collections/all에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: .announce
  3. 스타일 창에서 요소의 색상 옆에 있는 색상 견본을 클릭하면 측정된 대비율을 볼 수 있습니다.
  4. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “color-contrast” 항목으로 보고됩니다.
실패한 요소(4개 표시)
.announce
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
article:nth-child(3) > .badge
<span class="badge">Sale</span>
article:nth-child(3) > .price > .compare
<span class="compare">$72</span>
article:nth-child(4) > .price > .compare
<span class="compare">$40</span>
영향을 받는 페이지(9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

수정 방법

페이지 마크업으로 만든 코드
  1. 아래에 나열된 실패 요소를 열고 실패 요약에 나온 전경색과 배경색을 기록하십시오.
  2. 온라인 스토어 > 테마 > 사용자 지정 > 테마 설정 > 색상에서 해당 색 구성표의 텍스트 색상을 어둡게 하거나 배경을 밝게 해 대비율을 4.5:1 이상으로 만드십시오.
  3. 세일 배지, 플레이스홀더 텍스트, 푸터 링크, 이미지 위의 버튼에 특히 주의하십시오.

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 테마 설정 › 색상 또는 테마의 CSS 파일
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
수정 후 · 실패한 요소로 작성
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}

13px 텍스트의 측정값은 3.09:1이며, WCAG 1.4.3은 4.5:1을 요구합니다. #b95941: 같은 색조를 유지하면서 기준을 통과합니다. 선택자는 테스트에서 사용한 것입니다. 테마에서는 같은 스타일에 더 넓은 범위의 클래스를 사용할 수 있습니다.

수정 전 · 발견한 내용 · 테마 설정 › 색상 또는 테마의 CSS 파일
<span class="badge">Sale</span>
수정 후 · 실패한 요소로 작성
.badge {
  background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}

12px 굵은 텍스트의 측정값은 2.06:1이며, WCAG 1.4.3은 4.5:1을 요구합니다. #9f693f: 같은 색조를 유지하면서 기준을 통과합니다. 선택자는 테스트에서 사용한 것입니다. 테마에서는 같은 스타일에 더 넓은 범위의 클래스를 사용할 수 있습니다.

수정 전 · 발견한 내용 · 테마 설정 › 색상 또는 테마의 CSS 파일
<span class="compare">$72</span>
수정 후 · 실패한 요소로 작성
.compare {
  color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}

14px 텍스트의 측정값은 2.29:1이며, WCAG 1.4.3은 4.5:1을 요구합니다. #78736c: 같은 색조를 유지하면서 기준을 통과합니다. 선택자는 테스트에서 사용한 것입니다. 테마에서는 같은 스타일에 더 넓은 범위의 클래스를 사용할 수 있습니다.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다(WCAG 1.4.3).
위치: 페이지 9개에서 22건, 예: /, /collections/all, /products/trail-daypack, /cart.

브라우저가 렌더링한 실패 요소 하나:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

중요한 이유: WCAG 1.4.3은 일반 텍스트에 최소 4.5:1, 큰 텍스트에 최소 3:1의 대비율을 요구합니다. 흐릿한 가격, 배지, 배너는 저시력인 사람은 물론, 밝은 빛 아래에서는 누구에게나 읽기 어렵습니다.

변경해야 할 내용:
- 아래에 나열된 실패 요소를 열고 실패 요약에 나온 전경색과 배경색을 기록하십시오.
- 온라인 스토어 > 테마 > 사용자 지정 > 테마 설정 > 색상에서 해당 색 구성표의 텍스트 색상을 어둡게 하거나 배경을 밝게 해 대비율을 4.5:1 이상으로 만드십시오.
- 세일 배지, 플레이스홀더 텍스트, 푸터 링크, 이미지 위의 버튼에 특히 주의하십시오.

제안하는 변경 사항(테마 설정 › 색상 또는 테마의 CSS 파일):
```css
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 스캔을 다시 실행해 color-contrast 항목이 더 이상 나타나지 않는지 확인하십시오.
  • 정확한 색상 값을 대비 검사 도구에 넣어 직접 확인해 보십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright

P3보통확인된 실패

모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다

작업량: 보통 · 담당: 테마 개발자

일부 콘텐츠가 페이지 랜드마크(header, nav, main, footer) 안에 있지 않습니다.

랜드마크가 있으면 스크린 리더 사용자가 페이지의 각 영역으로 바로 이동할 수 있습니다. WCAG 1.3.1과 2.4.1을 뒷받침하는 권장 사례입니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 9개에서 18건

예상: 모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다

관찰: 일부 페이지 콘텐츠가 랜드마크에 포함되어 있지 않습니다.

모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다: /에서 윤곽선으로 표시한 요소
모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다: /에서 윤곽선으로 표시한 요소
모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다: /cart에서 윤곽선으로 표시한 요소
모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다: /cart에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: .announce
  3. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “region” 항목으로 보고됩니다.
실패한 요소(2개 표시)
.announce
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
#cookie-banner > p
<p>We use cookies to improve your experience and measure traffic.</p>
영향을 받는 페이지(9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

수정 방법

일반 안내
  1. 랜드마크 밖에 있는 콘텐츠(공지 바, 팝업, 채팅 위젯)를 적절한 랜드마크로 감싸거나 <main> 안에 넣으십시오.
AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 모든 페이지 콘텐츠는 랜드마크에 포함되어야 합니다.
위치: 페이지 9개에서 18건, 예: /, /collections/all, /products/trail-daypack, /cart.

브라우저가 렌더링한 실패 요소 하나:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

중요한 이유: 랜드마크가 있으면 스크린 리더 사용자가 페이지의 각 영역으로 바로 이동할 수 있습니다. WCAG 1.3.1과 2.4.1을 뒷받침하는 권장 사례입니다.

변경해야 할 내용:
- 랜드마크 밖에 있는 콘텐츠(공지 바, 팝업, 채팅 위젯)를 적절한 랜드마크로 감싸거나 <main> 안에 넣으십시오.

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 해당 페이지를 다시 스캔하십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright

P3보통확인된 실패

제목 수준은 한 단계씩 증가해야만 합니다

작업량: 보통 · 담당: 테마 개발자

헤딩 수준이 중간을 건너뛰어(예: H2에서 H4로) 스크린 리더 사용자가 페이지 구조를 이해하기 어렵습니다.

스크린 리더 사용자는 헤딩으로 페이지를 탐색합니다. WCAG 1.3.1을 뒷받침하는 권장 사례입니다.

증거

발견 방법
axe-core 자동 규칙
상태 · 신뢰도
확인된 실패 · 높음
최초 감지
2026년 9월 24일(UTC)
위치
페이지 7개에서 7건

예상: 제목 수준은 한 단계씩 증가해야만 합니다

관찰: 제목 순서가 잘못되었습니다.

제목 수준은 한 단계씩 증가해야만 합니다: /collections/all에서 윤곽선으로 표시한 요소
제목 수준은 한 단계씩 증가해야만 합니다: /collections/all에서 윤곽선으로 표시한 요소
제목 수준은 한 단계씩 증가해야만 합니다: /products/trail-daypack에서 윤곽선으로 표시한 요소
제목 수준은 한 단계씩 증가해야만 합니다: /products/trail-daypack에서 윤곽선으로 표시한 요소
재현 방법
  1. Chrome이나 Edge에서 다음 주소를 여십시오: https://harborandpine.example/collections/all
  2. 개발자 도구(F12) › 요소를 열고 Ctrl+F(Mac에서는 Cmd+F)를 눌러 다음을 검색하십시오: article:nth-child(1) > a[href$="trail-daypack"] > h3
  3. 또는 무료 브라우저 확장 프로그램인 axe DevTools를 페이지에서 실행하십시오. 이 문제가 “heading-order” 항목으로 보고됩니다.
실패한 요소(3개 표시)
article:nth-child(1) > a[href$="trail-daypack"] > h3
<h3>Trail Daypack 22L</h3>
h3
<h3>Reviews</h3>
h3:nth-child(3)
<h3>Started on the trail</h3>
영향을 받는 페이지(7)
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

수정 방법

일반 안내
  1. 해당 섹션의 헤딩 수준을 조정해 수준을 건너뛰지 않고 순서대로 이어지게 하십시오.
  2. 시각적 스타일은 그대로 두고 태그만 바꾸십시오(크기는 CSS 클래스로 지정).

코드

개발자를 위한 구현 예시입니다. 테마의 소스 코드를 볼 수 없으므로 파일 위치는 정확한 경로가 아닌 참고용입니다.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<h3>Trail Daypack 22L</h3>
수정 후 · 수정해서 쓸 예시
<h2 class="h3">Trail Daypack 22L</h2>

페이지에서 앞선 헤딩 바로 다음 수준(대개 한 단계 위)을 사용하고, 모양은 클래스로 유지하십시오. 변경하기 전에 페이지의 헤딩 구조를 확인하십시오.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<h3>Reviews</h3>
수정 후 · 수정해서 쓸 예시
<h2 class="h3">Reviews</h2>

페이지에서 앞선 헤딩 바로 다음 수준(대개 한 단계 위)을 사용하고, 모양은 클래스로 유지하십시오. 변경하기 전에 페이지의 헤딩 구조를 확인하십시오.

수정 전 · 발견한 내용 · 테마 코드(표시된 마크업으로 검색하십시오)
<h3>Started on the trail</h3>
수정 후 · 수정해서 쓸 예시
<h2 class="h3">Started on the trail</h2>

페이지에서 앞선 헤딩 바로 다음 수준(대개 한 단계 위)을 사용하고, 모양은 클래스로 유지하십시오. 변경하기 전에 페이지의 헤딩 구조를 확인하십시오.

AI로 수정프롬프트 보기

테마 파일과 함께 ChatGPT, Claude, Cursor 또는 Copilot에 붙여 넣으십시오. 게시하기 전에 변경 사항을 검토하십시오.

저는 harborandpine.example 사이트를 운영하고 있으며, 사이트 유형은 Shopify 스토어(Online Store 2.0 테마, Liquid 템플릿)입니다. 접근성 테스트에서 다음 문제가 발견되어 테마에서 수정하려고 합니다.

문제: 제목 수준은 한 단계씩 증가해야만 합니다.
위치: 페이지 7개에서 7건, 예: /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie.

브라우저가 렌더링한 실패 요소 하나:
```html
<h3>Trail Daypack 22L</h3>
```

중요한 이유: 스크린 리더 사용자는 헤딩으로 페이지를 탐색합니다. WCAG 1.3.1을 뒷받침하는 권장 사례입니다.

변경해야 할 내용:
- 해당 섹션의 헤딩 수준을 조정해 수준을 건너뛰지 않고 순서대로 이어지게 하십시오.
- 시각적 스타일은 그대로 두고 태그만 바꾸십시오(크기는 CSS 클래스로 지정).

제안하는 변경 사항(테마 코드(표시된 마크업으로 검색하십시오)):
```html
<h2 class="h3">Trail Daypack 22L</h2>
```

답변 규칙:
- 정확한 수정 내용을 수정 전과 수정 후로 보여 주고, 수정할 파일이나 설정의 이름을 알려 주십시오. 먼저 제 파일을 봐야 한다면 붙여 넣어 달라고 요청하십시오.
- 시각적 디자인과 기존 동작은 모두 그대로 유지하십시오.
- 상품명, 가격, 문구를 지어내지 말고 제가 채울 수 있는 플레이스홀더를 사용하십시오.
- 마지막에는 제가 직접 수정 결과를 확인하는 방법을 알려 주십시오.
- 키보드와 스크린 리더로 확인하는 방법도 포함해 주십시오.

수정 결과 확인

  • 다시 스캔하고 HeadingsMap 같은 브라우저 확장 프로그램으로 헤딩 구조를 확인하십시오.

자세한 안내: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright

수동 검토 필요

이미지 위의 텍스트나 휴대폰 화면에 맞지 않을 수 있는 콘텐츠처럼 자동화 테스트가 표시했지만 판정하지 못한 항목입니다. 실패로 집계하지 않습니다. 개발자에게 각 항목을 확인해 달라고 요청하십시오.

  • 검토 필요WCAG 4.1.3

    키보드 탐색: 키보드로 장바구니에 담기

    장바구니 담기에서 Enter 키는 작동했지만(헤더의 장바구니 수량 변경, “장바구니에 담김” 메시지 표시), 상태 메시지나 포커스를 받은 대화 상자를 찾지 못했으므로 스크린 리더 사용자는 상품이 담겼다는 사실을 듣지 못할 수 있습니다.

    페이지 1개에서 1건 · 확인 방법

  • 검토 필요WCAG 1.4.10

    상품 페이지가 좁은 화면에서 가로 스크롤 없이 표시되지 않을 수 있음

    320 CSS 픽셀 너비(400% 확대와 같음)에서 페이지가 화면보다 200px 넓습니다. 데이터 표와 지도는 스크롤되어도 되지만, 텍스트와 컨트롤은 스크롤되지 않아야 합니다.

    페이지 1개에서 2건 · 확인 방법

    확인할 요소(2개 표시)
    div.icons
    <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></bu
    div
    <div> <p style="color:#6a6a60;font-size:14px">Harbor &amp; Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si
  • 검토 필요WCAG 1.4.10

    홈페이지가 좁은 화면에서 가로 스크롤 없이 표시되지 않을 수 있음

    320 CSS 픽셀 너비(400% 확대와 같음)에서 페이지가 화면보다 55px 넓습니다. 데이터 표와 지도는 스크롤되어도 되지만, 텍스트와 컨트롤은 스크롤되지 않아야 합니다.

    페이지 1개에서 3건 · 확인 방법

    확인할 요소(3개 표시)
    div.icons
    <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></bu
    article.card
    <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><
    button.btn.light
    <button class="btn light" type="submit">Subscribe</button>
  • 검토 필요WCAG 1.4.3

    엘리먼트는 반드시 충분한 명도 대비를 가져야 합니다

    엘리먼트가 이미지 노드를 포함하기 때문에 엘리먼트의 배경색이 확인될 수 없습니다.

    페이지 1개에서 1건 · 확인 방법

    확인할 요소(1개 표시)
    h1
    <h1>Gear for the long way home</h1>

수정 사항 재테스트

개발자가 변경을 마치면 재테스트하십시오. 같은 페이지에서 같은 자동 점검, 키보드 테스트, 키보드 탐색을 다시 실행하고, 더 이상 재현되지 않는 문제를 보여 드립니다. 재테스트 5회가 포함되어 있습니다.

재테스트는 유료 리포트에서 실행할 수 있습니다.

수동 점검

자동화 도구로는 판단할 수 없는 항목입니다. 작업을 마쳤다고 보기 전에 직접 확인하십시오.

  • 키보드만 사용해 결제를 끝까지 진행해 보십시오. 자동 탐색은 결제 버튼에서 멈추며 결제 단계에 들어가지 않습니다.
  • 스크린 리더(Mac의 VoiceOver: Cmd+F5, Windows의 NVDA)로 반복해 가격, 옵션, 오류가 읽히는지 확인하십시오.
  • 브라우저를 200%로 확대해 겹치거나 사라지는 것이 없는지 확인하십시오.
  • 상품 동영상과 브랜드 동영상에 정확한 자막이 있는지 확인하십시오.
  • 양식(뉴스레터, 문의, 결제)에 일부러 잘못 입력해 제출하고, 오류가 텍스트로 설명되는지 확인하십시오.
  • 캐러셀과 팝업을 Escape 키로도 일시 정지하거나 닫을 수 있는지 확인하십시오.

접근성 선언문 초안

대괄호로 표시된 부분을 수정한 뒤, 푸터에서 링크한 페이지에 게시하십시오.

harborandpine.example 접근성 선언문

저희는 스크린 리더, 키보드 탐색, 화면 확대 등 보조 기술을 사용하는 분을 포함해 누구나 harborandpine.example에서 쇼핑할 수 있기를 바랍니다. 웹 콘텐츠 접근성 지침(WCAG) 2.2 레벨 AA를 충족하는 것을 목표로 합니다.

저희의 노력
- 자동화된 접근성 도구로 쇼핑몰을 테스트하고 발견된 문제를 수정합니다.
- 주요 쇼핑 단계(둘러보기, 상품 페이지, 장바구니, 결제)를 키보드와 스크린 리더로 테스트합니다.
- 제3자 앱과 위젯은 추가하기 전에 접근성을 검토합니다.

알려진 제한 사항(2026년 9월 24일 기준)
- 키보드 접근과 포커스(WCAG 2.1.1). 2026-10-08까지 수정할 계획입니다.
- 이름이 없는 링크와 버튼(WCAG 2.4.4, 4.1.2). 2026-10-08까지 수정할 계획입니다.
- 대체 텍스트가 없는 이미지(WCAG 1.1.1). 2026-10-08까지 수정할 계획입니다.
- 레이블이 없는 양식 필드(WCAG 4.1.2). 2026-10-08까지 수정할 계획입니다.
- 낮은 색상 대비(WCAG 1.4.3). 2026-10-08까지 수정할 계획입니다.

의견 및 도움 요청
쇼핑몰의 어느 부분이든 이용하기 어려우시면 [이메일 주소] 또는 [전화번호]로 문의해 주십시오. 해당 페이지와 문제를 알려 주시면 구매를 마칠 수 있도록 도와 드리며, 영업일 기준 5일 이내에 답변해 드립니다.

이 선언문은 2026년 9월 24일에 작성되었으며 최소 연 1회 검토합니다.

증거 기록

각 페이지를 Chromium에서 불러와 axe-core 4.13.0 버전으로 테스트했습니다. SHA-256 해시는 페이지별 원시 결과를 식별합니다.

테스트 시각과 결과 해시가 포함된 테스트 페이지 목록
페이지테스트 시각(UTC)HTTP문제SHA-256
홈페이지https://harborandpine.example/2026-09-24 14:05:0020015da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3
컬렉션 페이지https://harborandpine.example/collections/all2026-09-24 14:05:092002028d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0
상품 페이지https://harborandpine.example/products/trail-daypack2026-09-24 14:05:182002068a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4
장바구니https://harborandpine.example/cart2026-09-24 14:05:27200125b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c
콘텐츠 페이지https://harborandpine.example/pages/about2026-09-24 14:05:362009daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f
추가 페이지https://harborandpine.example/products/pine-wool-beanie2026-09-24 14:08:0020020f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3
추가 페이지https://harborandpine.example/products/enamel-camp-mug2026-09-24 14:08:0720019c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022
추가 페이지https://harborandpine.example/products/harbor-lantern2026-09-24 14:08:14200205720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418
추가 페이지https://harborandpine.example/products/insulated-bottle2026-09-24 14:08:21200196f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd

범위와 방법

테스트한 내용

  • 1366×900 크기의 Chromium에서 불러온 페이지 9개(홈페이지, 컬렉션 페이지, 상품 페이지, 장바구니, 콘텐츠 페이지, 추가 페이지).
  • WCAG 2.0, 2.1, 2.2 레벨 A 및 AA에 대한 axe-core 4.13.0 규칙과 권장 사례 규칙(P3로 표시).
  • 키보드 테스트: 홈페이지에서 Tab 키를 40번 눌러 포커스 트랩과 누락된 포커스 표시를 찾습니다.
  • 홈페이지에서 결제 버튼까지 키보드만으로 이동하는 쇼핑 탐색(위 참조).
  • 홈페이지 및 상품 페이지에서 320 CSS 픽셀 너비로 실행한 리플로 점검(WCAG 1.4.10).

테스트하지 않은 내용

  • 결제 및 지불 페이지, 양식 제출, 계정 페이지와 로그인이 필요한 페이지.
  • 자동 규칙의 범위를 넘어 스크린 리더가 실제로 읽어 주는 내용.
  • 동영상 자막과 화면 해설, PDF 문서, 제3자 프레임 안의 콘텐츠.
  • 쉬운 언어, 인지 접근성 등 사람의 판단이 필요한 모든 항목(수동 점검 참조).

결과 해석 방법

확인된 실패
자동화 테스트나 키보드 탐색이 실패했으며, 증거가 함께 표시됩니다.
검토 필요
테스트가 판정할 수 없는 항목을 표시했습니다. 사람이 확인해야 합니다.
통과
테스트한 페이지에서 자동 규칙이 실패를 찾지 못했습니다.
테스트하지 않음
여기서 자동화 테스트가 다룰 수 있는 범위를 벗어납니다. 수동 점검을 참조하십시오.

내 웹사이트에 대한 이 리포트를 받아 보십시오.

무료 스캔으로 시작해 웹사이트의 문제와 그 문제가 요구서 내용과 어떻게 일치하는지 확인하십시오. 접근성 수정 리포트 가격은 1회 결제 $249이며, 약 10분 안에 준비됩니다.

무료로 웹사이트 스캔하기

이 리포트는 자동화 테스트 결과를 설명하고 수정 방법을 안내합니다. 법률 자문이 아니며, ADA, 유럽 접근성법 또는 그 밖의 어떤 법률에 대한 준수도 인증하지 않습니다.