jidaikobo-shibata/a11yc

View on GitHub
resources/en/processes.yml

Summary

Maintainability
Test Coverage
#processes
processes:
  2:
    title: コンテンツの自動再生と自動更新
    exp: |
      このプロセスでは、コンテンツの自動再生と自動更新についてのアクセシビリティを試験します。関連する達成基準は以下の通りです。
      1.4.2 音声の制御
      2.2.2 一時停止、停止、非表示
      4.1.2 名前(name)・役割(role)及び値(value)の一部

    processes:

      2-A:
        title: オーディオの自動再生
        procedure:
          - ユーザの操作なしで3秒以上自動的に再生される音声コンテンツを特定します
          - 1が存在しない場合、2.Aを「適用なし」として、2.Bに進みます。音声コンテンツが、ユーザの操作があって初めて再生される場合は、G171をチェックし、2.Aを「適合」として、2.Bに進みます
          - 1が存在する場合、 ユーザが音声を一時停止または停止したり、自動再生中の音声のみの音量を制御したりするためのメカニズムがページ先頭付近にあるかどうかを確認します
          - メカニズムを起動し、目的が達成される場合は、2.Aを「適合」として2.Bに進みます(G60, G170)
          - メカニズムが存在しない、又はメカニズムによって目的が達成されない場合は、2.Aを「不適合」として、2.Bに進みます(F23, F93)
        criterion: 1.4.2
        techs:
          - G60
          - G170
          - G171
          - F23
          - F93

      2-B:
        title: コンテンツの動き、点滅、およびスクロール
        procedure:
          - 次のような視覚的コンテンツを特定します。スクロールテキスト、カルーセル、動画、バナー、アイコンに注意してください
          -
            - ユーザの操作なしで、自動的に動き、点滅、又はスクロールする、そして
            - 5秒以上続く、そして
            - そのコンテンツ以外のコンテンツが存在する
            - コンテンツにとって、動き、点滅、又はスクロールが必要不可欠でない
          - 1が存在しない場合、2.Bを「適用なし」として、2.Cに進みます(G11, G152, SCR22)
          - 1が存在する場合、ユーザがコンテンツを一時停止、停止、または非表示にするためのメカニズムがあるかどうかを確認します
          - メカニズムを起動し、目的が達成される場合は、2.Bを「適合」として2.Cに進みます(G4, SCR33, G187, G186, G191)
          - メカニズムが存在しない、又はメカニズムによって目的が達成されない場合は、2.Bを「適合」として、2.Cに進みます(F16, F47, F4, F50, F7)
        criterion: 2.2.2
        techs:
          - G11
          - G152
          - SCR22
          - F4
          - F7
          - F16
          - F47
          - F50

      2-C:
        title: 自動更新情報
        procedure:
          - 次のようなコンテンツを特定します。タイマー、カウンター、株価表示に注意してください
          -
            - ユーザによる機能の有効化なしで、自動的に更新する
            - そのコンテンツ以外のコンテンツが存在する
            - コンテンツにとって、自動更新が必要不可欠でない
          - 1が存在しない場合、2.Cと2.Dを「適用なし」として、このプロセスを終了します
          - 1が存在する場合、ユーザがコンテンツを一時停止、停止、または非表示にするためのメカニズムがあるかどうかを確認します
          - メカニズムを起動し、目的が達成される場合は、2.Cを「適合」として、2.Dに進みます(G4, G186)
          - メカニズムが存在しない、又はメカニズムによって目的が達成されない場合は、2.Cを「不適合」として2.Dに進みます
        tips: |
          達成基準2.2.2は、自動更新が不可欠である場合の情報の自動更新には適用されません。しかし、リアルタイムの情報を伝達する株価表示の自動更新は必須ではないと考えられるため、このテストに含めることにします。ほとんどの場合、自動更新は必須ではありません。
        criterion: 2.2.2
        techs:
          - G4
          - G186

      2-D:
        title: 自動更新の通知
        procedure:
          - 2.Cの1で定義するコンテンツが存在する場合、ページ内に自動更新されるコンテンツが存在することをユーザに理解可能な形で伝えているかを確認します
          - 自動更新されるコンテンツにフォーカスを移動し、変更が起こった時に、ユーザに通知されるかどうかを確認します
          - 自動更新されるコンテンツがARIA Live Regionに含まれているかどうか確認します
          - 2、3の何れかが達成されている場合、2.Dを「適合」とします。いずれも達成されていない場合は2.Dを「不適合」としてこのプロセスを終了します
        criterion: 4.1.2

  4:
    title: キーボード操作可能
    exp: |
      このプロセスでは、コンテンツの自動再生と自動更新についてのアクセシビリティを試験します。関連する達成基準は以下の通りです。
      1.4.2 音声の制御
      2.2.2 一時停止、停止、非表示
      4.1.2 名前(name)・役割(role)及び値(value)の一部

    processes:

      4-A:
        title: キーボードだけですべての機能にアクセスして実行できます
        procedure:
          - マウスなどのポインティングデバイスを使用して、インタラクティブな要素(ドロップダウンメニュー、フォームフィールド、コンテンツの表示/非表示、ツールチップ、およびすべてのインタラクティブインターフェイスコンポーネントなど)によって提供される利用可能な機能を確認します
          - 当該機能が「手書きのイラストを描画する」「障害物コースを通る物体の操作」など、一連の軌跡に依存するものかどうかを確認し、該当する場合は例外となります。メモに例外とした理由を記入し、4.Aを「適用なし」として、4.Bに進みます
          - 2の例外を除く、1で提供されている機能にTABキーや矢印キーを用いて要素にアクセスできることを確認します
          - 2の例外を除く、1で提供されている機能について、ENTERキー、SPACEキーを用いて実行できることを確認します
          - 3および4を満たしていたら、4.Aを「適合」とします。3と4のいずれかを満たすことができない場合、4.Aを「不適合」とします(F54、F55、F42)
          - 4.Bに進みます
        tips: |
          「一連の軌跡に依存した例外」には注意が必要です。たとえば一連の軌跡を利用した手書き文字入力の本来の目的はテキストデータの入力であり、ポインティングデバイスに依存しないで、機能を提供できるはずです。この場合は、例外としないで試験を続行します。
          ドロップダウンメニューがマウスのhoverのみで展開される実装があります。このような場合、サイトの構造上、ドロップダウンで展開される選択肢からしか到達できないコンテンツがある場合は「不適合」とすべきです。
        criterion: 2.1.1

      4-B:
        title: 個々のキーストロークは、機能の利用に特定のタイミングを必要としません
        procedure:
          - 要素をアクティブにするために、キーストロークのタイミングが必要な場合があるかどうかを判断します。たとえば、特定のタイミングでの入力を求める認証などがこれにあたります
          - キーストロークのタイミングに依存する機能がある場合は、特定のタイミングを必要としない、別のキーボードアクセス可能な方法が提供されているかどうかを確認します
          - 1および2を確認し、特定のキーストロークのタイミングを必要とせず、機能を利用できる場合は、4.Bを「適合」として4.Cに進みます。できない場合、「不適合」として、4.Cに進みます
        criterion: 2.1.1

      4-C:
        title: キーボードトラップはありません
        procedure:
          - キーボードでフォーカス可能な要素のページ全体をタブで移動し、キーボードナビゲーションがトラップされる要素があるかどうかを確認します。キーボードトラップとみなす条件は次の通りです
            - ユーザは、例えばTABキー、矢印キー、ESCキーを使って、要素から離れることができません
            - そもそもキーボードで利用できる範囲が小さく設定されていて、その範囲外に移動することができない状態です
          - キーボードトラップから抜け出す手順がTABキーや矢印キー以外で提供されている場合、その方法がキーボードアクセスできる箇所に記述されているかどうか確認します
          - 1が存在しない(TABや矢印キーで抜け出せないコンテンツは存在しない)場合は、4.Cを「適用なし」として、4.Dに進みます。1および2が存在し、2で提供されている方法がキーボード操作で実行可能であれば、4.Cを「適合」として、4.Dにすすみます。1が存在し、2が満たされない場合、4.Cを「不適合」として、4.Dに進みます
        criterion: 2.1.2

      4-D:
        title: title属性で提供されたツールチップは、必要不可欠な情報を提供しません
        procedure:
          - フォーカス可能な要素で、title属性を持っている要素をすべて抽出します
          - title属性がページコンテンツの理解や操作に不可欠な情報を提供する要素を特定します
          - 2が存在しない場合、4.Dを「適用なし」として4.Eに進みます。2が存在する場合、4.Dを「不適合」として4.Eに進みます
        criterion: 2.1.1

      4-E:
        title: フォーカスは視覚的に確認できます
        procedure:
          - キーボードでフォーカス可能なすべての要素をタブで移動し、アクセス可能なユーザインタフェースコンポーネントを確認します
          - 1が存在しない場合、4.E〜4.Iを「適用なし」として、プロセスを終了します
          - キーボードフォーカスを持っている要素に、フォーカスの可視表示があるかどうかを確認します。フォーカスの可視表示は、次の条件によって判断します
          -
            - UAが提供するデフォルトのフォーカスインジケータを消していない
            - aを満たしていないが、同様のフォーカスインジケータを実装していて、かつ、そのフォーカスインジケータは、キーボードフォーカス時にフォーカス領域の視覚的な理解を妨げない
          - 3を満たす場合は4.Eを「適合」として、4.Fに進みます。2が満たされない場合は、4.Eを「不適合」として、4.Fに進みます
        criterion: 2.4.7
        interlock:
          - 4.E
          - 4.F
          - 4.G
          - 4.H
          - 4.I

      4-F:
        title: ユーザインタフェースコンポーネントがフォーカスを受け取った時、コンテキストの予期しない変化を起こしません
        procedure:
          - キーボードでフォーカス可能なすべての要素をタブで移動し、アクセス可能なユーザインタフェースコンポーネントを確認します
          - ユーザインタフェースコンポーネントがフォーカスを受け取った時に、次の振る舞いがないか確認します
            - 新しいウインドウ(タブ)が開く
            - フォーカスが別のユーザインタフェースコンポーネントに移動する
            - ページの情報の更新が起こる
          - 2がなければ、4.Fを「適合」として、4.Gに進みます。2が存在する場合は、4.Fを「不適合」として、4.Gに進みます
        criterion: 3.2.1

      4-G:
        title: フォーカスの順序はウェブページの意味と操作性を維持します
        procedure:
          - キーボードでフォーカス可能なすべての要素をタブで移動し、アクセス可能なユーザインタフェースコンポーネントを確認します
          - フォーカス順序が、ページの意味に影響を与えるかどうか判断します
          -
            - tabindex属性を用いてフォーカス順序を改変し、ページの意味の把握に問題がある状態になっている
            - モーダルダイアログボックスであるにもかかわらず、フォーカスは、モーダルダイアログボックスから抜け出してしまう
          - 2がなければ、4.Gを1として、4.Hに進みます。2がある場合、4.Gを-1として、4.Hに進みます
        criterion: 2.4.3

      4-H:
        title: 展開したコンテンツにフォーカスが移動します
        procedure:
          - キーボードで展開されるコンテンツが存在するかどうか確認します
          -
            - サブメニュー項目
            - ドロップダウン展開
            - ダイアログ展開
            - モーダルダイアログ展開
            - 展開可能なツリーリスト
          - 1が存在しない場合、4.H〜4.Iを「適用なし」として、プロセスを終了します
          - 1が存在する場合、以下の何れかを確認し、満たしている場合は、4.Hを「適合」として、4.Iに進みます。何れも満たされない場合は4.Hを「不適合」として、4.Iに進みます
          -
            - 展開後、次のフォーカスが展開された項目になっている
            - キーを一回押すと、展開されたコンテンツにフォーカスが移動する
        criterion: 2.4.3
        interlock:
          - 4.I

      4-I:
        title: フォーカスは元にもどります
        procedure:
          - キーボードで展開されるコンテンツを閉じたり隠したりすることができない場合、4.Iを「不適合」として、プロセスを終了します。もし、マウスでのみ閉じられる実装の場合は、4.Aを「不適合」としてプロセスを終了します。展開したものを、誰も閉じられない場合のみ、4.Iは「適用なし」になります
          - キーボードで展開されるコンテンツを閉じたり隠したりすることができる場合、展開されたコンテンツを開く前のフォーカス位置に戻ることを確認します
          - 2が満たされる場合、4.Iを「適合」として、プロセスを終了します。2が満たされない場合(フォーカスがページ先頭の移動する等)、4.Iを「不適合」として、プロセスを終了します
        criterion: 2.4.3

  9:
    title: 繰り返しコンテンツ
    exp: |
      このプロセスでは、コンテンツの自動再生と自動更新についてのアクセシビリティを試験します。関連する達成基準は以下の通りです。
      1.4.2 音声の制御
      2.2.2 一時停止、停止、非表示
      4.1.2 名前(name)・役割(role)及び値(value)の一部

    processes:
      9-A:
        title: キーボードアクセス可能な方法で、繰り返しコンテンツを回避できます
        procedure:
          - 対象のページが、他のページで繰り返されるコンテンツを持たない場合は、9.A〜9.Cを「適用なし」として、このプロセスを終了します
          - ページの先頭から始めて、標準のキーボードコマンドを使用して、繰り返しのあるコンテンツブロックに移動します
          - 繰り返しのあるコンテンツを回避するためにキーボードでアクセス可能な方法が提供されているかどうかを判断します(たとえば、リンクのスキップ、ホットキー、スクリプト要素など)。一部のブラウザではframeが繰り返すコンテンツをスキップする機能になります。ただし、frame技術は現在は廃止されています
          - 3が提供され、実際にブロックスキップできるかどうかを確認します。ブロックスキップは、以下の2点を満たしている必要があります。ブロックスキップが可能な場合9.Aを「適合」とし、9.Bにすすみます。2点を満たしていない場合、9.Aを「不適合」として、9.Bに進みます
          -
            - 視覚的に画面が動き、スキップすべき要素をスキップしていること
            - スクリーンリーダの場合、スキップすべき要素を読み飛ばしていること(実装によっては、仮想カーソルが動かない場合があるので要注意)
        criterion: 2.4.1
        interlock:
          - 9.A
          - 9.B
          - 9.C

      9-B:
        title: 各ナビゲーション要素は、他のページのナビゲーション要素の構成と同じ相対順序で現れます
        procedure:
          - ウェブサイトの複数のウェブページを確認して、複数のページで繰り返されているナビゲーションコンポーネントを特定します
          - ナビゲーション要素の順序を確認し、それが表示されている他のページの順序と比較します
          - 2の結果、順序の改変がなければ、9.Bを「適合」として、9.Cに進みます。順序の不統一があった場合は、9.Bを「不適合」として、9.Cに進みます
        criterion: 3.2.3

      9-C:
        title: アクセス可能な名前と説明は、同じ機能を実行するコンポーネントと同じです
        procedure:
          - ページ内または一連のウェブページ内で同じ機能を持つユーザインタフェースコンポーネントを特定します
          - 同じ機能を持つユーザインタフェースコンポーネントが同じ名前を持っているかどうかを確認します
          - 2の結果、問題がなければ、9.Cを「適合」として、プロセスを終了します。問題があった場合は、9.Cを「不適合」として、プロセスを終了します
        tips: |
          同じ機能を実行するユーザインタフェースコンポーネントのための代替テキストは、必ずしも真に「同一」でないことがあります。それらが一貫したフォーマットに従っている場合、これは許容できます。たとえば、次のウェブページにリンクしているウェブページの下部にあるグラフィカルな矢印を使用する場合、代替テキストは「ページ4に進む」や「ページ5に進む」になりえます。
        criterion: 3.2.4