HTMLとXHTMLの達成方法のためのユーザーエージェントサポートノート

このページは、 HTMLとXHTMLの達成方法のためのユーザーエージェントサポートノートを記載する。

訳注: ユーザーエージェントサポートノートは記載内容が古く、また WCAG 2.0 の後続仕様である WCAG 2.1 の関連文書 Techniques for WCAG 2.1 から削除されている。そのため、WAIC ではこのページを現在メンテナンスしていない。

H24: イメージマップの area 要素にテキストによる代替を提供する

HTML 4.01仕様書は、alt属性のテキストを、その要素が通常通り描画されないときに表示されるもの、と説明している。ユーザーエージェントは、画像が表示されないときにalt属性のテキストを表示する。しかし、視覚系ユーザーエージェントは現状、イメージマップのarea要素については、キーボードでアクセスした場合、又は画像そのものが表示されない場合には、alt属性のテキストを表示しない。また、画像の内在寸法が指定されていない場合【訳注−img要素のwidth属性やheight属性で画像のサイズが示されていない場合など】、area要素を切り抜いて表示することもある。さらに、マウスオーバー時に反応して表示されるalt属性のテキストは、ユーザーエージェントでのフォントサイズや色の組み合わせの設定通りに表示されない。

title属性は追加情報を提供するものとされている。しかし、ユーザーエージェントにおける現在の実装では、title属性とalt属性のどちらかにはアクセスできるが、両方同時にはアクセスできない。ユーザーエージェントは一般的に、title属性が指定された要素にマウスオーバーしたとき、そのtitle属性のテキストを表示する。

このようなことから、イメージマップを用いる際、この実装方法を正しく実装するには次のどちらかが必要となる。

  • Ensuring the area element area要素のalt属性値が、画像が読み込まれていても読み込まれていなくても、フォーカス (キーボードによるフォーカスを含む) を受けたときに表示されるようにすること。または、

  • area要素と同じ目的を果たせる代わりのメカニズムが、ウェブページに存在すること。

H27: object 要素にテキストおよび非テキストの代替を提供する

This technique is not supported well by assistive technologies and cross-browser support is irregular.

(訳注: この達成方法は最新の達成方法からは削除されている)

H28: abbr要素およびacronym要素を用いて、略語の定義を提供する

  • 略語や頭字語の読み上げについて、支援技術のサポートレベルは異なる。しばしば特有のカスタマイゼーション設定に依存している。

  • この達成方法はabbrもしくはacronym要素のtitle属性がアクセシビリティサポーテッドである場合のみ十分である。title属性がアクセシビリティ サポーテッドとなるためには、全てのキーボード利用者が (音声読み上げソフトウェアを利用しているかどうかに関わらず) title属性の内容を利用できなければならない。

  • JAWS 6.2以降とWindow-Eyes 5.0以降は、abbr要素とacronym要素をサポートしている。これらの要素が現れるたびに、title属性を読み上げるように設定できるが、初期設定ではオフであり、利用者が設定をオンにすることも稀である。

  • グラフィカルユーザーエージェントの多くは、abbr要素やacronym要素でマーク付けしたテキストに、点線で下線を引いたり点線で囲んで描画する。加えて、要素にマウスオーバーしたときは、元の語句をツールチップで表示する。

  • Internet Explorer 7以前では、abbr要素でマーク付けした内容には、どのようなスタイルも追加されない。Internet Explorer 6以前では、その項目にマウスオーバーしても、元の語句はツールチップとして表示されない。

  • 特定のユーザーエージェントや支援技術では、abbr要素とacronym要素が利用者に対して同じ方法で表現される。

(訳注: この達成方法は、最新の達成方法では「abbr要素を用いて、略語の定義を提供する」とされている)

H33: title 属性を用いて、リンクテキストの文言を補足する

  • 現在のユーザーエジェント及び支援技術は、リンクで利用できるtitle属性の内容があるときも、利用者に何もフィードバックしない。

  • グラフィカルなユーザーエージェントの一部は、title属性が指定されたa要素の上にマウスオーバーしたときに、ツールチップを表示する。しかし、現在のユーザーエージェントは、キーボードによるtitle属性の内容へのアクセス方法を提供していない。

  • 一般的なユーザーエージェントの一部では、短い時間 (およそ5秒) でツールチップが消えてしまう。このことが、マウスは利用できても細かな操作ができない利用者がtitle属性の内容にアクセスする難しさや、ツールチップを読むのに時間を要する利用者の困惑につながっている。

  • 現在のグラフィカルなユーザーエージェントは、title属性の内容表現をコントロールするメカニズムを提供していない。利用者は、ツールチップのテキストのサイズを変更したり、前景色と背景色をコントロールしたりできない。また、ツールチップの配置を利用者がコントロールできないことも問題である。画面拡大ソフトウェアの利用者の一部は、画面領域内にツールチップが全て表示されず、title属性の内容を意味がわかるほど得られないことにつながっているからである。

  • ユーザーエージェントの一部では、コンテキストメニューによって補足情報にアクセスできる。たとえばMozilla/Firefoxでは、Pに続けてShift+F10とキーを押すと、他の補足情報とともにtitle属性の内容が表示される。

  • HTML 4.01仕様書は、alt属性のテキストを、ある要素が通常通り描画されないときに表示されるもの、と説明している。そのため、視覚系ユーザーエージェントでは、画像が表示されないときにalt属性のテキストを表示する。一方、title属性は追加情報を提供するものとされる。ユーザーエージェントは一般的に、title属性が指定された要素にマウスオーバーしたときに、そのtitle属性のテキストを表示する。Internet Explorerは、title属性のテキストが指定されていなければ、マウスオーバー時にalt属性のテキストを表示する。一方、FirefoxやOperaは、title属性のテキストのみをマウスオーバー時に表示し、alt属性のテキストは表示しない。したがって、alt属性のテキストをマウスオーバー時に表示したければ、同じテキストをtitle属性にも指定しておくべきである。【訳注: 本段落最後の一文は、alt属性の誤用を助長する恐れがあるので、WCAG WGに削除を提案している。】

  • 支援技術ごとにtitle属性の音声読み上げサポートが異なる。一部の支援技術には、利用者がtitle属性によって提供される情報にアクセスする機能が含まれていない。

  • JAWS 7.0以降では、設定によってtitle属性値を読み上げることができる。この設定は、一時的な変更も固定的な変更も可能である。

  • Window-Eyes 5.5以降には、(title属性を含む) フォーカスを受けた項目の追加情報を読み上げるホットキー (ins+E) がある。

  • この実装方法は、title属性がアクセシビリティサポーテッドである場合のみ達成基準を満たすことができる。title属性がアクセシビリティサポーテッドであるためには、全てのキーボードの利用者が (音声読み上げソフトウェアを利用しているかどうかに関わらず) この属性の内容を利用できる必要がある。

H35: applet 要素にテキストによる代替を提供する

  • この実装方法は、支援技術が十分にサポートしていないものである。HTML仕様書は、アプレットに対するテキストによる代替はその要素が描画できないときに表示される、と説明している。そのため、ユーザーエージェントがJavaアプレットをサポートしていないか、Javaアプレットが読み込み中止に設定されていないかぎり、applet要素のボディにあるテキストによる代替はユーザーに提供されない。

  • Windows用のIE 6と、Windowsで動作するFirefox 1.5とOpera 9とでは、applet要素の代替テキストの扱いが異なる。IEはapplet要素のボディに含まれるテキストを表示するが、alt属性は表示しない。一方、FirefoxとOperaは、alt属性を表示するが、ボディに含まれるテキストは表示しない。

H44: テキストのラベルとフォームコントロールを関連付けるために、label 要素を使用する

HTML及びXHTML仕様書では、暗示的なラベルと明示的なラベルの両方を認めている。しかし、支援技術の一部は、暗示的なラベル (たとえば、) を正確に処理できない。【訳注: なお、暗示的なラベルとは、ラベルとフォームコントロールを単にlabel要素で囲んだだけのものである。一方、明示的なラベルとは、label要素のfor属性に、フォームコントロールのid属性値と同じ値を指定することで、両者を明確に関連付けたものである。】

  • JAWS 7.10の動作を、Windows XPのInternet Explorer 6.0とFirefox 1.5で検証した。テキストフィールドに付けたラベルは、明示的なラベルでも暗示的なラベルでも、バーチャルPCカーソルとフォーム読み上げモードの両方で読み上げられた。ただし、フォーム読み上げモードでは、チェックボックスとラジオボタンに付けた暗示的なラベルは読み上げられなかった。

  • Window-Eyes 5.5の動作を、Windows XPのInternet Explorer 6.0とFirefox 1.5で検証した。フォームフィールドの明示的なラベルは常に読み上げられたが、ブラウズONモードでは暗示的なラベルは読み上げられなかった。ただし、ブラウズOFFモードでコントロールからコントロールへと移動したときは、暗示的なラベルでも読み上げられた。

ユーザーエージェントは、title属性が指定してあるinput要素にマウスオーバーしたときに、ツールチップを表示するようである。支援技術はtitle属性を抽出し、多くのグラフィカルブラウザはtitle属性をツールチップで表示する。ただし、キーボード操作ではツールチップを開けないため、視力はあるがマウスではなくキーボードを使っている利用者は、現状ではツールチップの情報を利用できない恐れがある。

JAWSとWindow-Eyesでは、フォームコントロールがフォーカスを受けたとき、もしlabel要素が指定されていなければ、title属性を読み上げる。

  • JAWS 6.0以降では、label要素とtitle属性が異なるとき、その両方を読み上げるように設定できる。しかし、この設定方法に気づいているユーザーは非常に少ない。

  • Window-Eyes 5.5には、(title属性を含む) フォーカスされた項目の追加情報を読み上げるホットキー (ins+E) がある。

H45: longdesc 属性を用いる

longdescに対するユーザーエージェントのサポートはさまざまだが、全体的なサポートは向上している。 JAWS、NVDA、Window-Eyesなどのスクリーンリーダーはlongdescをサポートしているが、Voiceover 4.0、Orca 2.32.0、および拡大鏡 Zoomtext 10.0はまだlongdesc属性をサポートしていない。 Internet Explorer、Firefox、Opera、Chromeなどのブラウザはすべてlongdescをサポートしている。

H46: embed 要素と一緒に noembed 要素を用いる

注記: embedはユーザエージェントで広くサポートされているが、HTMLやXHTMLの有効な部分ではない。

H48: リストに、ol 要素、ul 要素、dl 要素を用いる

番号やビュレットの形式を指定するtype属性について、支援技術のサポートが一貫していない。

H49: 強調又は特別なテキストをマークアップするために、セマンティックなマークアップを使用する

  • セマンティックな要素の中には、支援技術によって十分にサポートされていないものもある。サポートが限られる要素として、codedeldfninskbdssubsuptt、qがよく知られている。これらの要素について、コンテンツ制作者には次を考慮することが推奨される。すなわち、利用者が内容を理解するために、またセマンティクスの理解が求められる部分ではその情報をテキストで提供するために、マークアップのセマンティックな意味に利用者がアクセスできる方法で、これらの要素を利用することである。

  • スクリーンリーダーの大部分が、emstrongbiについて、自動的に通知をしない。

  • JAWSは、blockquote及びciteをサポートしている。Window-Eyesは、blockquoteq及びciteをサポートしている。

  • Firefox 1.0以降、Opera 7.54以降、Mozilla 1.7.3以降 (以上、Windows版) は、q要素の前後に自動的に引用符を生成するが、Windows用Internet Explorer 6は生成しない。

H53: object 要素のボディを使用する

この実装方法は、支援技術が十分にサポートしておらず、ブラウザによるサポートも一定していない。

H57: html 要素の lang 属性を使用する

lang属性の値として、地域、筆記体、異体などを示すために、主言語コードの後にハイフン区切りで副言語コードを加えると、一部のスクリーンリーダーの古いバージョンでは、言語の切り替え時にエラーになることがある。

JAWS 8.0では、lang属性を元に自動的に言語を変更するように設定できるが、主言語コードとして指定できるような、主要な言語の間での切り替えのみである。地域別の言語異体を副言語コードとして指定しても、JAWSでは初期設定の異体が使用されるだろう。

H58: 自然言語の変更を指定するために、lang 属性を使用する

古いバージョンのスクリーンリーダーの中には、言語を表す属性の指定にあたって、その言語が話されている地域、その言語を記述するために用いられている文字コードなどを表すために、言語コードに続けて記述されることがあるサブコードが指定されていると、エラーが発生するものがある。

JAWS 8.0の場合、lang属性の指定に基づいて読み上げに使用する言語を切り替えるように設定することができる。 ただし、JAWSは主要な言語のみに対応しており、lang属性のプライマリーコードに示されている言語を用いる。また、言語が用いられている地域を示すサブコードが続けて指定されている場合、プライマリーコードで指定されている言語のデフォルトとして設定されている方式を用いるようになっている。

H59: link 要素及びナビゲーションツールを使用する

  • link要素について、ユーザーエージェントと支援技術のサポートが一貫していない。

  • ユーザーエージェントの一部は、link要素で指定されている情報を表示する追加的なナビゲーションバーを提供する。MozillaとOperaの現在のバージョンがこの機能を提供する。IE 6.0とFirefox 1.5はこの機能を提供しないが、拡張機能やアドオンを通して利用できることがある。

    link要素のブラウザサポートに関する詳しい情報は、(X)HTMLにおける「link」要素 (英語)を参照。

H60: 用語集にリンクするために、link 要素を使用する

ユーザーエージェントの一部では、link要素で指定された情報を表示するナビゲーションバーが追加できる。MozillaとOperaの現在のバージョンがこの機能を提供する。IE 6.0とFirefox 1.5はこの機能を提供しないが、拡張機能やアドオンを通して利用できることがある。link要素のブラウザサポートに関する詳しい情報は、The 'link'-Element in (X)HTMLを参照。

H62: ruby 要素を使用する

XHTML 1.1をサポートしていないユーザーエージェントのために、ルビのマークアップには、代替メカニズムとしてのrp要素を含める。ルビのマークアップはXHTML 1.1のみで定義されているにもかかわらず、IE 5.0以降は、rubyrtrp要素をHTML 4.01やXHTML 1.0で用いた場合もサポートする。

H63: データテーブルの見出しセルとデータセルを関連付けるために、scope 属性を使用する

JAWSの最新版では、scope属性のrowcolという値をほとんどサポートしているが、まだいくつかの問題がある。Window-Eyesはscope属性のサポートが一貫していない。これらのスクリーンリーダーの日本語版も同じである。JAWSのバージョン5以前、Window-Eyesの古いバージョンではscope属性のサポートが一貫していない。

現時点で、見出しが1行目や1列目にないテーブルについて、さまざまな支援技術で一貫したサポートを確保したい場合は、 H43: データテーブルのデータセルを見出しセルと関連付けるために、id 属性及び headers 属性を使用する にある複雑なテーブルに関する実装方法を採用してもよい。一方、見出しが1行目や1列目にある単純なテーブルについては、th要素とtd要素の利用を推奨する。

H64: frame 要素及び iframe 要素の title 属性を使用する

frame要素とiframe要素でのlongdesc属性の使用は、支援技術によって十分にサポートされていない。代替として、この達成方法で述べられているtitle属性の利用を推奨する。

H65: label 要素を使用することができないとき、フォームコントロールを特定するために、title 属性を使用する

  • ユーザーエージェントは、title要素が指定してあるinput要素にマウスオーバーしたときに、ツールチップを表示するだろう。

  • JAWSとWindow-Eyesでは、フォームコントロールがフォーカスを受けとったとき、label要素が指定されていなければ、title属性の内容を読み上げる。

    • JAWS 6.0以降では、label要素とtitle属性に異なる内容が指定されている場合、両方を読み上げるように設定できる。しかし、この設定方法を知っているユーザーは非常に少ない。

    • Window-Eyes 5.5には、フォーカスを受けとったアイテムの追加情報 (title属性を含む) を読み上げるホットキー (insert+E) がある。

H69: コンテンツの各セクションの開始位置に見出し要素を提供する

ほとんどのスクリーンリーダーは、見出し要素を用いたナビゲーション機能を提供しており、見出しレベルに関する情報も提供している。また、Operaは、見出し要素ごとに移動できるメカニズムを提供している。他のユーザーエージェントでも、追加的なプラグインが見出し要素を用いたナビゲーション機能をサポートしている。プラグインに関しては、「参考リソース」のセクションを参照のこと。

編者注: ユーザーエージェントノートを更新するアクションがあるが、まだ正確な編集はできていない。

H78: リンクテキストとそれが含まれているパラグラフとを組み合わせて、リンクの目的を特定する

JAWS 5.0以降は、次のキーストロークを実装している。

  • Alt+左矢印: 前の文を読む

  • Alt+右矢印: 次の文を読む

  • Alt+テンキーの5: 現在の文を読む

  • Ctrl+テンキーの5: 現在のパラグラフを読む

リンクがフォーカスを受けているときにAlt+テンキーの5を押せば、フォーカスの変更なしにその文が読み上げられる。

リンクがフォーカスを受けているときにCtrl+テンキーの5を押せば、フォーカスの変更なしにそのパラグラフ全体が読み上げられる。

Window-Eyes 5.5には、現在の位置にある文やパラグラフを読み上げるホットキーがある。

Window-Eyesでインターネットを利用するには「ブラウズモード」でなければならないが、現在の位置にある文やパラグラフを読むホットキーは、バージョン6.1の「ブラウズモード」では動作しない。

Window-Eyesについて、周囲にあるリンクの文脈の読み上げに関する工場出荷時の初期設定は、次の通りである。

デスクトップマシンの設定

  • 文字: Ctrl+テンキーの左矢印

  • 単語: Ctrl+テンキーの右矢印

  • 行: Ctrl+テンキーのCENTER

  • 文:「ブラウズモード」では使用不可

  • (「次の文」のコマンドは、デスクトップモードの初期設定では定義されていないが、次の行を読むには下矢印を押す)

  • 次のパラグラフ: P

  • 前のパラグラフ: Shift+P

  • 現在のパラグラフ:「ブラウズモード」では使用不可

ラップトップ

  • 文字: Alt+Shift+<

  • 前の単語: Alt+Shift+J

  • 単語: Alt+Shift+K

  • 次の単語: Alt+Shift+L

  • 次の文: Alt+Shift+7

  • 文:「ブラウズモード」では使用不可

  • 次の文:「ブラウズモード」では使用不可

  • パラグラフ: ラップトップマシンの初期設定では定義されていない

  • 次の行: Alt+Shift+U

  • 行: Alt+Shift+I

  • 次の行: Alt+Shift+O

Fire Voxの「親要素の読み上げ」というコマンド (Ctrl+Shift+U) は、フォーカス位置の変更なしに動作する。Fire Vox (英語) は、Firefox 1.0以降のために設計されたフリーのスクリーンリーダーであり、Windows、Macintosh、Linux用のFirefoxでサポートされている。

H80: リンクテキストとその直前にある見出し要素とを組み合わせて、リンクの目的を特定する

JAWSでこの実装方法を利用するためのコマンドは、「JAWSキー+T」である。

H81: 入れ子になったリスト項目にあるリンクテキストとその親のリスト項目とを組み合わせて、リンクの目的を特定する

文脈に関する情報をプログラムが解釈できるようにリンクと関連付けたとしても、支援技術にはそのリンクからフォーカスを移動させずに親要素であるリスト項目を読み上げるコマンドがない。

H85: select 要素内の option 要素をグループ化するために、optgroup 要素を使用する

optgroup要素はスクリーンリーダーに広くサポートされているわけではない。

ユーザーエージェントは、option要素とoptgroup要素に対するlabel属性のサポートが一貫しておらず、支援技術にも広くサポートされているわけではない。

H86: ASCII アート、顔文字、及びリート語にテキストによる代替を提供する

  • title属性の読み上げについて、支援技術のサポートレベルは異なる。支援技術の一部は、ユーザーがtitle属性を通じて与えられる情報にアクセスする機能を実装していない。

  • title属性がアクセシビリティ サポーテッドである場合のみ、title属性を用いてこの実装方法で実装することは十分効果的である。この属性がアクセシビリティ サポーテッドとなるためには、全てのキーボードユーザーが (音声読み上げソフトウェアを利用しているかどうかに関わらず) title属性の内容を利用できなけらばならない。

  • JAWS 6.2以降とWindow-Eyes 5.0以降は、abbr要素とacronym要素をサポートしている。これらの要素があれば、title属性をすべて読み上げるように設定できるが、初期設定ではオフであり、ユーザーが設定をオンにすることも稀である。

  • グラフィカルユーザーエージェントの多くは、abbr要素やacronym要素でマーク付けしたテキストに、点線を引いたり点線で囲んだりして描画する。加えて、要素にマウスオーバーしたときは、title属性の内容をツールチップで表示する。

  • Internet Explorer 7以前では、abbr要素でマーク付けした内容にどのようなスタイルも追加されない。Internet Explorer 6以前では、その内容にマウスオーバーしたときもツールチップのような拡張表示はなされない。

  • あるユーザーエージェントや支援技術では、abbr要素とacronym要素が利用者に対して同じ方法で提示される。

H89: コンテキストに応じたヘルプを提供するために、title 属性を使用する

  • 現在の支援技術の中には、フォームフィールドで利用できるtitle属性の内容があるとき、利用者にフィードバックするものがある。

  • グラフィカルなユーザーエージェントの一部は、title属性が指定されたフォームの上にマウスオーバーしたときに、ツールチップを表示する。しかし、現在のユーザーエージェントは、キーボードによるtitle属性の内容へのアクセス方法を提供していない。

  • 一般的なユーザーエージェントの一部では、短い時間 (およそ5秒) でツールチップが消えてしまう。このことが、マウスは利用できても細かな操作ができない利用者がtitle属性の内容にアクセスする難しさや、ツールチップを読むのに時間を要する利用者の困惑につながっている。

  • 現在の多くのユーザエージェントにおいて、title属性コンテンツの表示を再調整したり、背景色を調整したり、再配置したり、制御したりすることは、大部分の利用者が困難である。

  • この達成方法は、要素に明示的に関連付けられたlabelがある場合にのみ使用できる。 labelがない場合、titleは、現在のユーザーエージェントのアクセシビリティAPIの名前として使用される。 後に記述されるヘルプテキストは、貧弱な名前になる。

H90: 必須項目のフォームコントロールを特定するために、label 要素又は legend 要素を使用する

HTML 及び XHTML の仕様では、明示的なラベルと黙示的なラベルの両方を認めている。しかし、支援技術の中には、黙示的なラベルを正しく扱えないものがある (例えば、<label>名前 <input type="text" name="firstname"></label>)。

  • JAWS 7.10 を Windows XP で Internet Explorer 6.0 と Firefox 1.5 で検証したところ、仮想PCカーソルモードとフォームモードの両方で、テキストフィールドの明示的なラベルと黙示的なラベルを読み上げる。フォームモードでは、チェックボックスとラジオボタンの黙示的なラベルを読み上げない。

  • Window-Eyes 5.5 を Windows XP で Internet Explorer 6.0 と Firefox 1.5 で検証したところ、明示的にラベル付されたフォームフィールドを読み上げる。ブラウズモードでは、黙示的にラベル付されたフォームコントロールは読み上げられないが、ブラウズオフモードでコントロールからコントロールへ移動する際には、明示的なラベルは読み上げられる。

ユーザーエージェントは、title属性のあるinput要素上にマウスオーバーすると、ツールチップを表示する。title属性値は支援技術に引き渡され、多くのグラフィカルブラウザではツールチップとして表示される。ツールチップはキーボード操作では表示されないため、その情報は画面を見ているキーボードユーザーには提供されないと考えたほうがよい。

label要素がない場合、そのフォームコントロールがフォーカスを受け取ったときに、JAWS と Window-Eyes は title 属性値を読み上げる。

  • JAWS 6.0 以降では、label 要素のラベルと title 属性値が異なる場合には、その両方を読み上げるように設定することが可能である。しかし、この設定があることを知っているユーザーはほとんどいない。

  • WindowEyes 5.5 では、ホットキーの Insert + E で、フォーカスのあるアイテムの title 属性値を含む追加の情報を提示できる。

ユーザーエージェントの中には、デフォルトではフォームのラベルにあるアスタリスク文字を読み上げないものがある (具体的には、Window-Eyes)。Window-Eyesのユーザーは、この設定を変更することができるが、多くのユーザーはその設定変更を行っていないと思われる。

H91: HTML のフォームコントロール及びリンクを使用する

JAWSは画像の代替テキストと隣接したテキストの間に空白を挿入しない。