楽しいAS情報作り
ウェブアクセシビリティ基盤委員会(WAIC) 作業部会2, 6 作業協力者
株式会社ミツエーリンクス 第六事業部 澤田望
WAICに参加するようになって、はや13年… 最近ではWG6に参加していますし、WG4にも参加していたことがありますが、ずっと在籍し続けているのがWG2です。
13年もいて何をやっているのかと言いますと、ずっとアクセシビリティ サポーテッド(以下AS)情報を作り続けているのです。
なぜそんなに長い間作り続けられるのか?
その辺りの話について書こうと思います。
AS情報を作る手順
AS情報とは、「WCAGの達成方法の事例で使用している技術が、主要なブラウザ及び支援技術でサポートされているかどうかを確認した結果」です。
AS情報を作る手順としては、概ね以下のような流れになります。
- 達成方法の事例選定
- テストケースとテストコードの作成
- テストケースとテストコードの検証
- ブラウザや支援技術による検証(ASテスト)
- 検証結果のレビュー
- AS情報として公開
今回は、13年間の中で最も時間をかけてきている「3. テストケースとテストコードの検証」の楽しさについてご紹介します。
議論の楽しさと発見の楽しさ
人は夢中になると、つい時間を忘れてしまうことがあります。
「使えるのか使えないのか」について考えている間、私たちもそうなっていることがあります。
過去に、WAICのWG2では、HTMLのtable
要素のsummary
属性について2時間にわたり議論を行ったことがあります。「このような話題で2時間も議論できるのはWG2くらいのものだ」と自ら評するほど、私たちの議論はしばしば熱を帯び、止まらなくなることがあります。
これは自らの利益を守るための駆け引きのような議論ではなく、好きなことについて、お互いの知見をぶつけ合っているから長時間の議論を続けていられるんですね。
好きなHTMLについての議論は楽しいのですよ。
WG2にはさまざまな立場で参加している人がいます。
ウェブサイトを制作している人、ウェブサイトを管理している人、ウェブサイトを検証している人、視覚障害のある人、支援技術を作っている人、などなど。
それぞれの立場でAS情報について語り合っています。
アクセシビリティに配慮してウェブサイトを制作していても、そのサイトがスクリーンリーダー利用者にどのように受け取られているのか、利用者の生の声を聞ける機会は少ないと思います。
WG2に長く在籍していても、自分の知らなかった発見の連続なので楽しいのですよ。
本当にテストになっているのか?
では、AS情報の作成の場でいったいどのような議論をしているのでしょうか?
ASテストで用いるテストケースとテストコードは、テスト対象となっている技術が、テストで使用する環境でサポートされているかどうかを確認できる内容になっていなければなりません。
例えば、一つの達成方法の事例で使用しているHTMLの実装手法のサポート状況を確認するために、HTMLとJavaScriptを使ったテストコードを用いるとします。
その場合、テストを実施する環境ではHTMLだけではなく、JavaScriptも適切に動く必要があります。
JavaScriptが適切に動くことを前提として、そのHTMLの実装手法による影響を確認したいのですが、うっかりすると、テスト環境でJavaScriptが動作するかどうかの確認になってしまっているケースがあります。
そうならないように、テストコードは極力シンプルなことが望ましいですし、テストケースの「期待される結果」ではHTMLの実装方法による影響だけを確認できるような表現に気をつける必要があります。
テスト自体が本当にその事例で使用している技術のテストになっているのか?
何をテストするためのテストなのか?
こんな禅問答みたいなことばかり考えているのです。
こんな議論が楽しいのですよ。
「何らかの手段」という発明
テストケースの「期待される結果」に「何らかの手段」という用語がよく出てきます。
これは何なのでしょうか?
WAIC-TEST-0005-01というテストケースがあります。
これは達成方法H25の事例を元にした、「title
要素に指定したページタイトルが表示・読み上げされるかの確認」という単純明快なテストです。
まず、ブラウザでページタイトルの表示内容を確認するのですが、ここで我々は気がつきました。
「デフォルトでページタイトルを表示していないブラウザがある!」
そうなのです、我々は、ブラウザの最上部にはページタイトルが表示されるものだと、当然のように思っていました。
しかし、WAIC-TEST-0005-01の検討時点では、Safariなど主要なブラウザの中にもページタイトルの表示を行わない仕様に変わっているものがあったのです。
「ということは… SafariはこのASテストに失敗するということになりますか?」
title
要素を使ってページタイトルを表すという、こんなに単純なテストに、Safariのようなメジャーなブラウザが失敗すると決めてしまってよいのか?
達成方法H25の事例はアクセシビリティ サポーテッドではないというのか?
我々は、情報としては十分に伝わっていても、ブラウザや支援技術の側があえて(ユーザビリティの観点から)デフォルトでユーザーに伝えていない状況があり、それをどう評価するのか、というような議論を(たぶん1時間ほど)続けました…。
そしてブラウザの表示で期待される結果として「利用者の必要に応じて、ページタイトルを確認できる『何らかの手段』が提供されている」という名言を発明したのでした。
ブラウザの「プロパティ」や「ページの情報を表示」などの機能でページタイトルを確認できる場合も、iOS版Safariなど、タブの切り換え時にのみ表示される場合も「何らかの手段」として「〇: サポートあり」と判断することにしました。
ただし開発者ツールのような一般の利用者が使わないと思われる機能については対象外と捉えています。
また、ブラウザの機能だけではなく、操作方法にも「何らかの手段」は存在します。
WAIC-TEST-0026-02というテストケースがあります。
これは「main
要素がmain
ランドマークであることを判別できるかの確認」というテストです。
そして「main
ランドマークの開始位置及び終了位置を知ることができる」ことを求めています。
main
要素を用いた場合、多くのスクリーンリーダーではmain
ランドマークの開始位置を読み上げます。
しかし、main
ランドマークの終了位置を読み上げてくれないNVDAのようなスクリーンリーダーがあります。
「ということは… NVDAはこのASテストに失敗するということになりますか?」
いいえ。逆から読めばよいのです。
main
要素の後ろからランドマークに入った際に、ランドマークに入ったことが読み上げられれば、そこが終了位置であることを知ることができますので、「何らかの手段」として「〇: サポートあり」と判断することにしました。
この「何らかの手段」によって、main
ランドマークにmain
要素を使うという基本的な実装手法がアクセシビリティ サポーテッドであるということが確認できたのでした。
こんな発見が楽しいのですよ。
あなたも楽しいWG2に参加してみませんか?
こんな議論に参加してみたい方、AS情報に興味が湧いた方、HTMLが好きな方、WG2に参加してみませんか?
まずはAS情報を作るための「ASテスト体験会」を不定期に開催していますので、こちらに参加いただくことも大歓迎です。
HTMLの仕様や、支援技術に詳しくなくてもお気軽に参加できますよ。
いつでもお待ちしています。
以上です。
- この文章は、一般社団法人 情報通信ネットワーク産業協会(CIAJ)のメールマガジンへ掲載することを目的に書かれたものです。
- この文章は、執筆者個人の見解に基づくものであり、ウェブアクセシビリティ基盤委員会の公式的な見解を示すものではありません。