WCAG 2.0 実装方法集

メインコンテンツへスキップ

-

「WCAG 2.0 実装方法集」のイントロダクション

この文書は、W3C Web Accessibility Initiative (WAI)が提供する WCAG 2.0 関連文書群の一つである[WCAG20]。よりアクセシブルなウェブコンテンツを制作するための具体的な制作方法及び事例を含んだ、さまざまな実装方法が紹介されている。同様に、WCAG 2.0の達成基準を満たしていないよくある失敗例を説明した不適合事例も挙げている。

実装方法というのは、WCAG 2.0 の達成基準を満たすために用いることのできるコンテンツ制作の具体的な方法である。この文書は、あらゆるウェブコンテンツ技術に適用できる一般的な実装方法および特定のウェブコンテンツ技術に適用できる実装方法を提供している。特定のウェブコンテンツ技術特有の実装方法は、一般的な実装方法に取って代わるものではない。コンテンツ制作者は、WCAG 2.0に適合するために作業する際には、一般的な実装方法とウェブコンテンツ技術特有の実装方法の双方を考慮に入れるべきである。

この文書は、入門書ではなく、WCAG 2.0の要件に対処するために用いることのできる実装方法に関する詳細な技術解説である。WCAG やその関連技術文書、教育用素材などへのイントロダクションは、ウェブコンテンツ・アクセシビリティ・ガイドライン (WCAG) 概要を参照のこと。

WCAGワーキンググループがメンテナンスする実装方法集をできるかぎり包括的なものにするために、WCAGワーキンググループは文書化されていない実装方法があれば、それを新しい実装方法としてこの文書に追加することの提案を奨励している。"実装方法提案フォーム(英語)" を使って、検討すべき実装方法を提案していただきたい。

達成基準を満たすことのできる実装方法とさらに対応が望まれる実装方法

WCAG 2.0に特定のウェブコンテンツ技術における実装方法を記述するのではなく、ガイドライン及び達成基準自体はウェブコンテンツ技術に依存しない中立的な書き方で記されている。特定のウェブコンテンツ技術(例えば、HTML)を用いてガイドラインを満たすためのガイダンス及び事例を提供するために、WCAGワーキンググループは各達成基準に対して「達成基準を満たすことのできる実装方法」を確認してきた。「達成基準を満たすことのできる実装方法」は、順序付きのリストで提供されており、各リスト項目が達成基準を満たすために用いることのできる実装方法または複数の実装方法の組み合わせを示している。一つのリスト項目に複数の実装方法があり、それらが「及び」でつながれている場合には、それらのすべての実装方法を用いなければならない。例えば、「達成基準 2.2.1 を理解する」の「状況B」では、三番目の実装方法として、「SCR16: 制限時間が切れようとしていることを利用者に警告するスクリプトを提供する (Scripting) 及び SCR1: 利用者が初期設定の制限時間を延長できるようにする (Scripting) 」という組み合わせを挙げている。

達成基準を満たすことのできる実装方法のリストは、"WCAG 2.0 解説書(Understanding WCAG 2.0)" (及び "How to Meet WCAG 2.0")でメンテナンスされている。W3C勧告であるガイドライン文書の「WCAG 2.0」とそのガイドラインにある達成基準を満たすために用いられる実装方法を別々に分けることによって、新しい実装方法が見つかった際やウェブコンテンツ技術及び支援技術が進化した際には、そのリストを更新することが可能になっている。

すべての実装方法は、参考情報であることに注意してほしい。「達成基準を満たすことのできる実装方法」は、WCAGワーキンググループによって、その達成基準を満たすことができると判断されたものである。しかし、ある実装方法をチェックポイントに沿って検証した結果、判定基準をクリアしていなかったとしても、他の実装方法によって達成基準を満たしていることもありえるので、必ずしもそのことによって達成基準を満たせていないということにはならない。それは単に、その実装方法が正しく用いられていないということであり、その実装方法では達成基準を満たせていないというだけにすぎない。ただし、ワーキンググループが挙げている実装方法以外のものを用いる場合には、それが達成基準を満たすことができることを何らかの方法で証明する必要がある。

ほとんどの達成基準には、複数の「達成基準を満たすことのできる実装方法」が挙げられている。挙げられている「達成基準を満たすことのできる実装方法」のどれもが、達成基準を満たすために用いることができる。ワーキンググループによって文書化されていないものの、達成基準を満たすことができる実装方法が他にもあるかもしれない。それが新しい「達成基準を満たすことのできる実装方法」として認めらた際には、リストに追加されることになる。

「達成基準を満たすことのできる実装方法」に加えて、数多くの「さらに対応が望まれる実装方法」がある。これは、アクセシビリティを向上させることはできるが、達成基準の要件を完全に満たすには不十分である、テスト可能ではない、及び/又はある環境に対しては効果的で有効な実装方法であってもその他の環境においてはそうではない、といった理由から「達成基準を満たすことのできる実装方法」としては認められなかったものである。そういった実装方法は、参考にすべき実装方法として、「達成基準を満たすことのできる実装方法」のすぐ後に挙げられている。ウェブコンテンツの制作者には、ウェブページのアクセシビリティを向上させるために、可能なかぎりそれらの実装方法を用いることを推奨する。

注記:「達成基準を満たすことのできる実装方法」で提示されている「コード例」は、その実装方法の「解説」で述べられている原理を示すことを意図している。そのため、そのコードは、その実装方法に関係のないアクセシビリティ、ユーザビリティまたはコーディングのベストプラクティスを示すものではない。

実装方法の「検証」

実装方法が正しく実装されているかどうかを確認できるように、各実装方法には「検証」の「チェックポイント」と「判定基準」が提供されている。しかし、それらはその実装方法が正しく実装されているかどうかだけを示すものである。特に、個々の実装方法の「チェックポイント」及び「判定基準」は、WCAG 2.0の達成基準自体のチェックポイント及び判定基準として用いるべきではない。ある実装方法を検証した結果、判定基準を満たせていなかったとしても、その実装方法が用いられていなかったことが原因だとしたら、その達成基準は他の実装方法によって満たされていることもありうる。また、達成基準はこの「WCAG 2.0 実装方法集」では文書化されていない実装方法によって満たすこともできるため、文書化されているすべての「達成基準を満たすことのできる実装方法」の「検証」にある「判定基準」をクリアしていなかったとしても、達成基準を満たしていることもありうる。

実装方法の「検証」はその対象が限定されているため、適合性評価においては注意して用いるべきである。ある「達成基準を満たすことのできる実装方法」の「判定基準」をクリアしていることは、その実装方法が正しく用いられていて、その結果として達成基準が満たされていることを示すこともあるが、その「判定基準」をクリアしていないことは必ずしもその逆のことを示すわけではない。それに対して、「よくある不適合事例」は、「達成基準を満たすことのできる実装方法」が正しく用いられていたとしても、不適合となることを示している。この場合にかぎっては、「よくある不適合事例」に該当していれば、それは達成基準が満たされていないことを示し、適合性評価の結果としてもそのまま妥当となる。

実装方法の「適用(対象)」

この「WCAG 2.0 実装方法集」にある実装方法には、その実装方法を用いた事例を示すために「コード例」を提供しているものが多い。「コード例」はその実装方法を例示しているが、必ずしも他の達成基準に適合するために必要なコーディングのベストプラクティスまでは例示してはいない。これは事例を簡潔なものにとどめ、その事例の要点を理解しやすくするためである。そのため、不足しているコードをきちんと補う場合を除いて、コンテンツ制作者は「コード例」にあるコードをそのままコピーして用いるべきではない。「コード例」に加えて、より完全な「サンプル」を提供している実装方法が多くある。「サンプル」も最低限のコンテンツしか含んでいないこともあるが、「サンプル」のほうが実際のコードのベースとして活用するのには適している。

多くの実装方法は、コンテンツにアクセスする代替のメカニズムを提供する方法について述べている。そして、そのような代替機能自体が WCAG 2.0 に適合していなければならないことを念頭に置くのが重要である。ある実装方法では代替のメカニズムを提供する基本的な方法に焦点を絞っていたとしても、その代替メカニズム自体が達成基準を満たすように、コンテンツ制作者は関連するその他の実装方法もあわせて用いる必要がある。

「しなければならない(must)」という言い回しを用いている実装方法がある。「WCAG 2.0 実装方法集」は規定となる文書ではないので、この言い回しはRFC 2119(日本語訳)での定義で用いられているわけではない。「しなければならない(must)」という言い回しは、その特定の実装方法を適切に用いることを表現しているだけで、実装方法のスコープを超えて要件を示すものではない。また、これは達成基準を満たすためにその実装方法を用いることが必須であるという意味でもない。さらに、この「WCAG 2.0 実装方法集」における「すべきである(should)」という言い回しが示しているのは、その実装方法のベストプラクティスであり、要件ではない。

実装方法集の目次

以下のリストは、目次の各カテゴリにリンクしている。

日本語訳における注記:

この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。