요약

  • HTML 3.2는 IMG alt가 음성·텍스트 전용 사용자 에이전트에 필수적이라고 했지만 DTD에서는 #IMPLIED였다. AREA alt는 #REQUIRED였다.
  • HTML 4.0은 1997년 IMG와 AREA 모두에 alt 속성을 요구했고, 1999년 WCAG 1.0은 모든 비텍스트 요소에 텍스트 대체물을 요구했다.

분석

이미지 맵은 한 그림 안에 여러 링크를 놓은 메뉴다. 비그래픽 사용자 에이전트에서는 AREA의 이름이 각 메뉴 항목이 된다. HTML 3.2는 모든 AREA에 alt를 요구했지만, 그 지도를 담은 IMG의 alt는 없어도 됐다. 지도 안 링크에는 이름표가 붙어도, 지도 자체는 이름 없이 문법 검사를 통과했다.

DTD는 HTML 문서의 문법 규칙표다. #IMPLIED는 속성을 빼도 통과한다는 뜻이고, #REQUIRED는 빠지면 오류다.

이 긴장은 HTML 2.0에서 시작됐다. RFC 1866은 1995년 11월, 사용자 에이전트가 SRC가 지정한 이미지 대신 ALT를 처리할 수 있다고 했지만 IMG에 ALT를 강제하지 않았다. 1997년 1월 14일 HTML 3.2도 IMG의 alt를 #IMPLIED로 남겼다. 다만 음성·텍스트 전용 환경에서 중요하다고 명시했다. 권고문은 중요하다고 했고, 검사 규칙은 생략을 허용했다. (RFC 1866; HTML 3.2)

AREA는 이미지 맵 안의 클릭 가능한 영역을 나타낸다. HTML 3.2 DTD는 각 AREA의 alt를 #REQUIRED로 표시하며, 비그래픽 사용자 에이전트에 필요하다고 주석을 달았다. 그 레이블은 이미지 맵의 활성 구역을 설명하는 텍스트 메뉴가 될 수 있었다. 같은 DTD가 이미지 전체에는 레이블 생략을 허용하면서, 클릭 영역에는 각자의 이름을 요구한 셈이다.

  • HTML 4.0 권고안 (1997년 12월 18일)
  • HTML 4.0 Strict DTD 1997년 12월 18일 권고안이 된 HTML 4.0은 IMG도 필수 쪽으로 옮겼다. IMG와 AREA 모두 alt가 #REQUIRED였고, 작성자는 속성을 지정해야 했다. 그렇다고 모든 이미지에 긴 설명을 붙이라는 뜻은 아니었다. 페이지의 배치만을 위한 이미지에는 빈 문자열이 적절하다고 HTML 4.0은 설명한다. 규칙은 선택했는지 검사할 뿐, 선택이 적절한지는 판별하지 않는다. (HTML 4.0: 객체와 이미지)

1999년 3월 WAI 기술 문서는 HTML 버전별 선택지를 정리했다. HTML 4.0은 IMG와 AREA에서 alt를 의무화했고, HTML 3.2는 더 많은 요소에, HTML 2.0은 IMG에 그 속성을 제공했다. 오래된 형식의 사용자 에이전트가 속성을 다루지 못하면 본문에 동등한 정보를 넣거나 상세 설명으로 연결하라고 권했다. 두 달 뒤 WCAG 1.0의 1.1 항목은 모든 비텍스트 요소에 텍스트 대체물을 요구하고 우선순위 1을 부여했다. A 수준은 모든 우선순위 1 항목을 만족해야 했다. 의무의 범위는 특정 속성에서 비텍스트 콘텐츠가 전하는 정보로 넓어졌다. (WAI 기술 문서, 1999년 3월 24일; WCAG 1.0)

경계는 분명하다. 설명문은 필요성을 알리고, DTD는 빠진 필드를 거부하며, 작성 지침은 특정 태그 너머를 다룰 수 있다. 어느 단계도 작성된 설명이 이미지의 역할을 전달하는지 증명하지는 못한다. 당시 독자가 실제로 무엇을 접했는지 알려면 날짜가 확인되는 페이지 표본과 브라우저·음성 사용자 에이전트 지원 기록이 필요하다. 두 자료가 있어야 누락과 구현 비율을 계산할 수 있다.

출처