Interop 2024に見るアクセシビリティ
アクセシビリティ・エンジニア 中村(直)フロントエンドBlogにInterop 2024がスタートという記事が先日掲載されましたが、ここでは重点分野として加わったアクセシビリティに関して深掘りしてみたいと思います。
アクセシビリティに関しては、WebKitが詳細に、Bocoupが端的に、Mozillaが軽く触れています。もちろんInterop 2024のREADMEにも記載されていますが、これらをまとめ直してみるとおおよそ次のようになります。
アクセシビリティは、既にInterop 2023では調査分野として取り上げられていました。以前のアクセシビリティBlogの記事ARIAを取り巻く2つの自動テストでも触れていましたが、Appleのアクセシビリティチームが主導して、執筆現在では1300を超えるアクセシビリティテストが作成されており、Interop 2024では重点分野としても組み込まれるに至っています。
細かくは3つの領域が挙げられています。1つ目は、アクセシブルな名前と説明の計算(accname)です。わかりやすい例としては、<label>
で計算される名前でしょうか。より詳しくはARIA APGにあるAccessible name calculationを参照してもらえればと思いますが、この名前の計算結果がすべてのブラウザーで同じように得られるように取り組んでいくとのことです。
2つ目は、計算されたロールです。HTML-AAM仕様、もう少し大ざっぱにいえばARIA in HTML仕様のとおりにHTMLの要素が提供されるときに計算されたロールを持っているかどうかについて、1つ目と同様に取り組んでいくようです(例としてwpt/html-aam/rolesのテストが挙げられます)。
最後の3つ目は、display: contents
が挙げられています。おそらくCSSグリッド(あるいはフレックスボックス)と組み合わされることが多いと思われるCSSプロパティの値ですが(具体例はMDNのグリッドレイアウトと他のレイアウト方法との関係 - グリッドと display: contentsがわかりやすいでしょう)、display: contents
によって直接の子要素が削除されると、アクセシビリティツリーからすべての子孫が削除されてしまうというバグがブラウザーに存在しています(これは仕様とは異なる挙動です)。その結果、視覚的には表示されているものの、スクリーンリーダーでは読み上げられないという問題が発生します。これに関するテストを作成することで、相互運用性を高める布石にするとのことです。
個人的には、アクセシブルな説明(aria-describedby
属性であったりtitle
属性であったり)の整備や、<dl>
(そして<dt>
、<dd>
)のロールの計算の議論が加速するのかどうかといったあたりが気になるところではあり、Interop 2024を通して相互運用性が高まることに期待したいところです。