TPAC 2019現地レポート1
チーフアクセシビリティ・エンジニア 黒澤福岡で開催されているTPAC 2019に参加しています。TPACはWorld Wide Web Consortium (W3C)の年次総会にあたるイベントで、9月16日から20日まで開催されています。
1日目の9月16日はAccessible Rich Internet Applications (ARIA) Working Groupのミーティングを傍聴しました。ミーティングでは様々なトピックが議論されていましたが、興味深かった内容を紹介します。
音声操作向けのコマンド
最近、Appleの音声コントロール(Voice Control)やAndroidのVoice Accessなど音声で端末を操作する機能が強化されてきています。
音声で操作する際、テキストが画面に表示されている場合にはテキストを発話すればよいのですが、画像が表示されている場合にはなんと発話すればよいのでしょうか。たとえば、ハートの形をしたアイコンが表示されている場合、「お気に入りに登録」と「いいね」のどちらを発話すればよいでしょうか?
また、音声読み上げ時にユーザーに伝わってほしい内容と音声操作のコマンドとして発話したい内容が異なる場合もあります。たとえば、カレンダーに「16」という日付が表示されている場合、「16」と発話する人もいるでしょうし「16日」と発話する人もいるでしょう。9月のカレンダーであれば「9月16日」と発話する人もいるでしょう。音声読み上げ用のテキストは制作者が1種類に決めうるものですが、音声操作のコマンドは理論上、ユーザーの数だけ幅があります。
そこで、AppleのJames Craigさんから
- 発話内容の幅に対応するために、iOS 13では音声操作のコマンドとして受け付けるテキストを複数指定するAPIを追加した
- 同様の仕組みをARIA(Web技術)に追加しよう
という提案がありました(#1038)。ミーティングでは特に反対意見はありませんでしたが、ARIAの新しい属性を追加する場合、テキストのリストをどうやって記述するのかという議論がありました。たとえば、HTMLのclass属性には空白区切りで複数の値を指定できます(class="a b"
)が、今回は同様の方法は使えません。なぜなら、英語などでは音声操作のコマンドには空白が含まれるのが一般的なためです。たとえば、ハートマークに「Like」(いいね)と「Add to favorites」(お気に入りに登録)を指定する場合に、
aria-新しい属性="Like Add to favorites"
と記述すると「Like」と「Add」「to」「favorites」の4つのコマンドが登録されてしまいます。
ミーティングではHTMLのdata-*属性がdatasetプロパティに展開されるような仕組みを導入してはどうかという話がありました。
aria-新しい属性-1="Like" aria-新しい属性-2="Add to favorites"
この提案は初期段階のもので、いますぐ仕様に反映されるわけでもブラウザーなどに実装されるわけでもありません。しかし、音声でも操作しやすいUIを実現するための模索は今後も続くでしょう。