Hatena::Groupweb

vantguarde

 | 

10.14

WAI-ARIAのデザインとRoleの役割

| 18:03

XHTML Role ModuleのLast Callが出たわけです。楽しみですね。

OperaのAnneがこんなことを言ってます。

ARIA is the hopefully short-term, stopgap, solution to accessibility of widgets typically found in “Web 2.0 applications” build using HTML, CSS, and JavaScript. It’s a stopgap and hopefully short-term solution, because accessibility (universality if you want) is not an integral part of the widget, such as with <input type=date>. Rather, authors have to do quite some additional hacking to ensure that the widget type (checkbox, password field, et cetera) and widget state (checked, open, closed, et cetera) are properly exposed. Especially without proper debugging this is likely to do some harm.

ARIA, role, and W3C politics

まあ要は、Ajax全開なWeb 2.0アプリのアクセシビリティを確保する為に、あとから付け足されたものなのでデザインが悪いってことです。

WAI-ARIA RolesのSec. 2.3に例があるのですが、まあひどい感じじゃないですか。支援技術が理解できるよう、状態やコンポーネントがなにかを記すことは重要だと思うのですが、こんな感じだと確かに使いたくないよなあと思います。そうそう、このセクションの見出し、XHTML 1.0となってますが、Role Moduleは今のところモジュールとHTML5のみなので、1.0にするのは間違いじゃないかと思ったり。

まあ、WAI-ARIAにおけるRolesとかStatesの方法って、XLinkみたいにまどろっこしいものなんですよね。ただ、HLinkみたくスキーマ的なもので解決できるかというとそうでもない感じがします。デザインはなんだかなあと思うけど、それよりも良いアプローチがないのが現状というか。

なので、HTML5がWeb Forms 2で要素属性を増やしたり、DOMを追加してるのは、ただ単にWebアプリに対し便利なものを提供するわけではないんですよね。要素や属性でRoleを補完したり、DOMでStatesを拾えるので、WAI-ARIAよりはスマートに解決できる部分もあります(すべてではないと思いますが)。

でも、Roleって別にARIAだけじゃなくて、普段のマークアップをより強固なものにする手段として、とてもいいものだと思うんですよね。microformatsをさらに厳密にした感じで。getElementsByRoleみたいなものが提供されるともっと良いですが。僕がRoleに興味を持ってるのは、ARIAじゃなくてこっちだったりします。

なので、今やってるARIA ProposalにあるHTML5用のRoleも、アクセシビリティにとらわれない意味づけに使えるように定義して欲しいなあと思っていたり。

 | 
Contact: @vant / lepetitcroissant@gmail.com.