このセクションの内容:

はじめに

Web Accessibility Scan ツールは、WCAG 2.1 や Section 508 などの Web アクセシビリティ ガイドラインに準拠しているかどうか、ブラウザーの再生中にブラウザーのコンテンツをチェックします。Web Accessibility Scan は、既存のブラウザー再生テストに連結させる必要があり、ブラウザー再生アクションを実行した直後に Web ページの現在の状態をスキャンします。

Web Accessibility Scan ツールと Browser Playback の連結

Web Accessibility Scan ツールはブラウザーでのアクセシビリティをテストするため、Browser Playback テストに連結する必要があります。

アクセシビリティ スキャンをブラウザー再生テストに連結するには、以下の操作を行います。

  1. Web アクセシビリティ スキャンを追加するブラウザー再生テストを右クリックし、[出力の追加] を選択します。
  2. 表示されたウィザードで、[ブラウザー コンテンツ (描画された HTML)] を有効にし、[次へ] をクリックします。
  3. 使用可能なツールのリストから Web Accessibility Scan を選択し、[完了] をクリックします。Web Accessibility Scan ツールが開きます。

  4. 必要に応じて名前を変更します。
  5. ページ全体をスキャンするのではなく、スキャンの範囲を要素に限定することができます。それには、[Narrow Scope to Element Locator] パネルの上部にあるメニューから、要素を定義する方法を選択します。オプションは以下のとおりです。
    • Use Elements Properties: 要素名、属性名、属性値、インデックス値の各フィールドを使用して要素を定義します。
    • Use XPath: 要素を識別するリテラル XPath 文字列を XPath フィールドに入力します。
    • Use Script: 要素を識別する XPath 文字列を生成するスクリプトを入力します。スクリプトの使用の詳細については、「スクリプトを使用した拡張機能の基礎」を参照してください。
  6. 変更を保存します。

要素とルールの除外

Web Accessibility Scan ツールは、除外を行わずに少なくとも 1 回実行することを推奨します。レポートされた違反を今後のスキャンから除外したい場合は、Web Accessibility Scan ツールを更新して違反を無視することができます。

要素とルールを除外するには、次の操作を行います。

  1. (オプションだが推奨) Web Accessibility Scan ツールを実行し、レポートされた違反を確認します。レポートの要素ロケーターとルール ID は簡単に除外テーブルに追加できます。
  2. Web Accessibility Scan ツールをダブルクリックします。
  3. 除外を追加するテーブルの[追加]をクリックします。テーブルに新しい行が開き、要素ロケーターまたはルール ID を追加できます。
    • 要素またはルールを違反レポートから適切なテーブルにコピーできます。「除外する要素」テーブルに要素ロケータを手動で入力することもできます。要素の検索に使用される接頭辞の詳細については、以下の表を参照してください。
  4. 変更を保存します。

次の表では、Web アクセシビリティ スキャン中に要素を見つけるために使用される接頭辞について説明します。

接頭辞説明

alt=

alt 属性値によって要素を検索します。
class=要素に関連付けられたクラスによって要素を検索します。クラス名は 1 つだけ使用する必要があります。
css=接頭辞に続くテキストを CSS セレクターとして解釈します。その CSS セレクターを使用して要素を検索します。
dom=接頭辞に続くテキストを 1 つ以上の Web 要素を返す JavaScript として解釈します。ページのコンテキストで JavaScript を実行し、JavaScript が返す要素を返します。
id=id 属性値によって要素を検索します。
link=接頭辞に続くテキストをリンク テキストとして解釈します。そのリンク テキストを含むリンクを検索します。
xpath=接頭辞に続くテキストを XPath セレクターとして解釈します。XPath セレクターを使用して要素を検索します。
document.document. を含む文字列全体を、1 つ以上の要素を返す JavaScript として解釈します。ページのコンテキストで JavaScript を実行し、JavaScript が返す要素を返します。
// を含む文字列全体を XPath セレクターとして解釈します。XPath セレクターを使用して要素を検索します。

上記の接頭辞が見つからない場合、値は ID とみなされ、接頭辞 id= が付いているかのように機能します。

Web アクセシビリティ ルール

ルール ID説明
area-altイメージ マップの <area> 要素に代替テキストが含まれるようにします
aria-allowed-attr要素のロールがその ARIA 属性をサポートしていることを確認します
aria-braille-equivalentaria-braillelabel と aria-brailleroledescription に点字以外の同等の文字列が必ずあるようにします
aria-command-nameすべての ARIA ボタン、リンク、メニュー項目にアクセス可能な名前が付けられるようにします
aria-conditional-attrARIA 属性が要素の役割の仕様に記載されているとおりに必ず使用されるようにします
aria-deprecated-role要素が非推奨のロールを使用しないようにします
aria-hidden-bodyaria-hidden="true" がドキュメント本文に存在しないことを確認します
aria-hidden-focusaria-hidden 要素がフォーカス可能でないこと、またはフォーカス可能な要素が含まれていないことを確認します
aria-input-field-nameすべての ARIA 入力フィールドにアクセス可能な名前が付けられるようにします
aria-meter-nameすべての ARIA メーター ノードにアクセス可能な名前が付けられるようにします
aria-progressbar-nameすべての ARIA プログレスバー ノードにアクセス可能な名前が付けられるようにします
aria-prohibited-attrARIA 属性が要素のロールに対して禁止されていないことを確認します
aria-required-attrARIA ロールを持つ要素に必要な ARIA 属性がすべて確実に含まれるようにします
aria-required-children子ロールを必要とする ARIA ロールを持つ要素にそのロールが含まれていることを確認します
aria-required-parent親ロールを必要とする ARIA ロールを持つ要素がそれらのロールに含まれていることを確認します
aria-rolesrole 属性を持つすべての要素が有効な値を使用するようにします
aria-toggle-field-nameすべての ARIA トグル フィールドにアクセス可能な名前が付けられるようにします
aria-tooltip-nameすべての ARIA ツールチップ ノードにアクセス可能な名前が付いていることを確認します
aria-valid-attr-valueすべての ARIA 属性に有効な値があることを確認します
aria-valid-attraria- で始まる属性が有効な ARIA 属性であることを確認します
autocomplete-validオートコンプリート属性が正しく、フォームフィールドに適していることを確認してください
avoid-inline-spacingスタイル属性を通じて設定されたテキスト間隔がカスタム スタイルシートで調整できるようにします
blink<blink> 要素が使用されていないことを確認します
button-nameボタンに識別可能なテキストが含まれるようにします
bypassユーザーがナビゲーションをバイパスしてコンテンツに直接ジャンプできるメカニズムが各ページに少なくとも 1 つあることを保証します
color-contrast前景色と背景色のコントラストが WCAG 2 AA の最小コントラスト比しきい値を満たしていることを確認します。
definition-list<dl> 要素が正しく構造化されていることを確認します
dlitem<dt> 要素と <dd> 要素が <dl> に含まれていることを確認します
document-title各 HTML ドキュメントに空でない <title> 要素が含まれていることを確認します
duplicate-id-ariaARIA とラベルで使用されるすべての id 属性値が一意であることを確認します
form-field-multiple-labelsフォームフィールドに複数のラベル要素が含まれないようにします
frame-focusable-contentフォーカス可能なコンテンツを含む <frame> 要素と <iframe> 要素に tabindex=-1 がないようにします
frame-title-unique<iframe> 要素と <frame> 要素に一意の title 属性が必ず含まれるようにします
frame-title<iframe> 要素と <frame> 要素にアクセス可能な名前が付いていることを確認します
html-has-langすべての HTML ドキュメントに lang 属性があることを確認します
html-lang-valid<html> 要素の lang 属性に有効な値があることを確認します
html-xml-lang-mismatch有効な lang 属性と xml:lang 属性の両方を持つ HTML 要素がページの基本言語と一致するようにします
image-alt<img> 要素に代替テキスト、役割なし、またはプレゼンテーションがあることを確認します
input-button-name入力ボタンに識別可能なテキストが含まれるようにします
input-image-alt<input type="image"> 要素に代替テキストが含まれるようにします
labelすべてのフォーム要素にラベルが付けられていることを確認します
link-in-text-block色に依存しない方法で、リンクが周囲のテキストと区別されるようにします
link-nameリンクに識別可能なテキストが含まれていることを確認します
listリストが正しく構造化されていることを確認します
listitem<li> 要素がセマンティックに使用されていることを確認します
marquee<marquee> 要素が使用されていないことを確認します
meta-refresh<meta http-equiv="refresh"> が遅延更新に使用されないようにします
meta-viewport<meta name="viewport"> がテキストの拡大縮小とズームを無効にしないようにします
nested-interactiveインタラクティブ コントロールが常にスクリーン リーダーによって読み上げられるとは限らず、支援テクノロジのフォーカスの問題を引き起こす可能性があるため、インタラクティブ コントロールがネストされないようにします
no-autoplay-audioオーディオを停止またはミュートする制御メカニズムがなければ、<video> 要素または <audio> 要素が 3 秒を超えてオーディオを自動再生しないようにします
object-alt<object> 要素に代替テキストが含まれるようにします
role-img-alt[role="img"] 要素に代替テキストが含まれるようにします
scrollable-region-focusableスクロール可能なコンテンツを含む要素にキーボードからアクセスできるようにします
select-name選択要素にアクセス可能な名前が付けられていることを確認します
server-side-image-mapサーバー側のイメージ マップが使用されないようにします
svg-img-altimg、graphics-document、または graphics-symbol の役割を持つ <svg> 要素にアクセス可能なテキストがあることを確認します
td-headers-attrheader 属性を使用するテーブル内の各セルが、そのテーブル内の他のセルのみを参照するようにします
th-has-data-cells<th> 要素と role=columheader/rowheader を持つ要素に、それらが記述するデータ セルがあることを確認します
valid-langlang 属性に有効な値が含まれるようにします
video-caption<video> 要素にキャプションがあることを確認します
  • No labels