사용자 보조: IE8 RC의 ARIA 지원 강화

 

 

Internet Explorer 의 프로그램 관리자인 Tony Ross 입니다.  IE 팀은 IE8 를 가능한 가장 사용하기 쉬운 웹 브라우저가 될 수 있도록 개발하고 있습니다. 또 상호 운용성을 향상하여, 웹 개발자가 편리하게 이용할 수 있도록 주력하고 있습니다. 동적인 웹 컨텐츠에의 사용자 보조를 구현하는 구문인 ARIA 지원 강화를 위해서 RC (릴리스 후보)에서 변화된 것을 소개합니다. 이전의 IE에서 구현되었던 것과 현재 구현 가능한 것, 그리고 이런 변화가 전체적으로 어떤 의미가 있는지 소개합니다.

이전 IE에서 구현되었던 것

ARIA 지원은 Beta 1에서 추가되었지만, 브라우저 모드에 의존하는 구문의 상위가 존재했었습니다. IE8 표준모드에서는 표준 정의된 구문을 사용하여 스크립트에서 ARIA 특성에 액세스 할 수 있었습니다:

value = elm.getAttribute("aria-checked");

IE7 모드와 Quirks 모드 등의 상호교환모드에서는 특성 이름을 camelCased에서 지정해야 했습니다. 

value = elm.getAttribute("ariaChecked");

구문의 차이는 미묘하게 보일지 모르지만, 이 차이는 IE 특성과 속성 취급 방법의 결과입니다. 속성은 스크립트의 개체로서 존재하며, elm.property 에 속합니다. 개발자의 편의를 위해 IE 는 특성을 속성에 자동적으로 대응시킵니다. 네이티브 특성의 이름에 대시가 포함되어 있으면, IE 는 허용 가능한 속성 구문을 구성하도록 조정합니다:

value = elm.ariaChecked;

이 조정이 없는 경우, 각각의 대시는 스크립트 인터프리터에 의해 마이너스 기호로서 다루어집니다.

value = elm.aria-checked; //대시를 포함한 속성에 액세스 하고 싶다

value = elm.aria – checked; //스크립트의 인터프리터에는 대시가 이와 같이 보인다

이전 버전의 IE 와 상호교환 모드의 IE 8 은 속성과 특성의 양쪽 모두에서 같은 이름을 사용합니다. 그 결과, 속성 이름의 조정은 getAttribute 구문에도 같이 영향을 줍니다. 이 조정은 ARIA 에 포함된 것 뿐만이 아니고, 모든 대시를 포함한 이름의 네이티브 특성에 적용됩니다. IE 는 인식할 수 없는 특성은 바꾸지 않고, 이름을 “foo-bar”와 같이 그대로 남깁니다. IE8 표준모드는 속성과 특성에서 각각 이름을 유지하기 때문에 전체적으로 이러한 충돌을 피할 수가 있습니다.

현재 구현 가능한 것

처음에는 위와 같은 문제에 대처하기 위한 IE7 모드나 Quirks 모드에서의 표준 ARIA 구문 지원은 실시하지 않았습니다. 이러한 모드에서는 이전 버전과의 호환성이 가장 중요하기 때문에 그 동작의 변경에는 신중했습니다.

그 이후, ARIA 를 위한 다른 구문을 갖는 것에 대해 우려하는 피드백을 받았습니다. 이 피드백은 웹 개발자, 사용자 보조 기술의 공급업체, 표준에 대해 커뮤니티 멤버들로 부터 전해졌습니다. 그들의 우려는 주로 IE8 표준모드에 대응하지 않는 페이지에 대한 것으로 이러한 페이지에서 ARIA 를 지원하려면, 지원 대상의 구문 중 하나를 선택하거나 또는 양쪽 구문을 지원하기 위해서 노력해야 한다는 것이었습니다.

이러한 피드백에 근거하여, IE 의 ARIA 핸들링을 다시 한번 증명했습니다. 오래된 버전의 IE에서는 ARIA 를 지원하지 않습니다. ARIA 특성은 미지의 것으로 취급되어, 그 이름을 camelCase 표기에 변경하지 않습니다. 이것은 이 버전에서는 스크립트가 표준화 된 구문을 사용하여  ARIA 를 조작할 수 있는 것을 의미합니다. 다만 Microsoft Active Accessibility (MSAA)(영어) 와 같은 API 를 경유하여 정보가 공개되지 않습니다.

피드백을  검토하는 과정에서 이러한 정보를 추가한 결과, IE8 의 동작을 최선의 선택사항으로 변경하기로 결정했습니다. 어떤 모드에서도 IE8 는 ARIA 특성 이름에 포함된  대시를 유지합니다. 이 변경의 일부로서 앞에서 말한 것과 같은 충돌을 피하기 위해, camelCase 표기의 ARIA 속성을 열거했습니다. IE8 의 ARIA 지원을 위해서는 표준화 된 구문만 잘 사용하면브라우저 모드에는 관계없게 되었습니다.

value = elm.getAttribute("aria-checked");

변경의 의미

웹 개발자 대상

변경에 의해, ARIA  이용이 쉬워집니다. 복수의 ARIA 구문 지원이 필요 없습니다 .

  • 단일 구문은 IE8 의 모든 모드를 통해서 기능합니다
  • 단일 구문은 다른 브라우저와의 상호 운용성이 있습니다
  • 단일 구문은 표준과 일치합니다
최종 사용자 대상

이 변경에 의해, IE8 의 모든 모드에서 ARIA 규격이 지원되어, 더 많은 사이트가 IE8 에서 액세스하기 쉬워질 것입니다.

ARIA

변경에 의해, 개발자가 다른 구문에 주위를 기울일 필요가 없고, 표준화된 ARIA 구문 보급에 도움이 될 것입니다. .

결론

IE 8에서는 Beta 1에서 복수 구문에 의해 ARIA 를 지원했지만, 표준과의 일치를 위해 하나로 줄였습니다. 이러한 변경으로 개발자, 최종 사용자, 그리고 ARIA 자신에게 종합적으로 좋은 영향을 줄 것이라고 믿습니다. 이러한 결정에 대해 항상 중요한 역할을 해주시는 커뮤니티의 피드백에 감사드립니다. 

Tony Ross
프로그램 관리자

 

* 이 글은 Internet Explorer 개발 팀 블로그 (영어)의 번역 문서입니다. 이 글에 포함된 정보는 Internet Explorer 개발 팀 블로그 (영어)가 생성된 시점의 내용으로, 제품의 사양이나 기능이 보장되는 것은 아닙니다. 이 글에 포함된 정보의 이용은 사용 조건을 참조해 주세요. 그리고, 이 글의 게재 시점에서 Internet Explorer 개발 팀 블로그 (영어)의 내용이 변경될 수 도 있습니다. 최신 정보는 Internet Explorer 개발 팀 블로그 (영어)를 참조하십시오. 

업데이트 일: 2009 년 1 월 16 일

영어 원본 : Accessibility: Improved ARIA Support in the IE8 RC (영어)