同時入力
Silktide は、ページ全体のタッチ入力を無効にするスタイルや、マウスやタッチスクリーンなど、特定の種類のポインターを使う人からボタンやリンクを隠すスタイルを探します。ページでは、デバイスが提供する入力方法を訪問者が自由に使えるようにする必要があります。
重要な理由
ノートパソコンのタッチスクリーン、キーボードを接続したタブレット、スタイラスを使うデスクトップなど、人々は常に入力方法を切り替えています。障害のため、特定の入力方法に頼っている人もいます。たとえば、震えのある人はマウスよりタッチのほうが使いやすい場合があり、マウススティックを使う人はキーボードしか使えないことがあります。タッチを無効にしたり、マウスでホバーできないとコントロールを隠したりするページは、他の利用者が使える機能からこうした訪問者を締め出してしまいます。
これは、 達成基準 2.5.6(同時入力メカニズム)に関わる問題です。この基準は の要件です。
修正方法
htmlまたはbody要素からtouch-action: noneを削除します。カスタムジェスチャーをサポートするために必要な場合は、ページ全体ではなく、マップやスライダーなど、そのジェスチャーを処理する特定の要素だけに適用します。@media (hover: none)や@media (pointer: coarse)のようなメディアクエリでボタンやリンクを隠している場合は、その訪問者が同じ操作を別の方法でも実行できるようにします。コントロールを削除するのではなく、タッチ向けにスタイルを変更してください。- 検出されたスタイルが実際には問題ない場合(たとえば、誰にでも見える同等のコントロールを隠している場合)は、検出結果をできます。
/* 問題: ページ全体のタッチ入力を無効にする */
body {
touch-action: none;
}
/* 改善: カスタムジェスチャーが必要な要素に限定する */
.map-canvas {
touch-action: none;
}
Silktide によるチェック方法
- 各ページに直接記述された を読み取ります。これには、
<style>ブロックと、htmlおよびbody要素のstyle属性が含まれます。 html、body、またはルート要素にtouch-action: noneが適用され、タッチ入力が全体的に無効化されているページを報告します。- ホバーまたはポインターの種類(
hover: hoverやpointer: coarseなど)を判定するメディアクエリによって、ボタン、リンク、フォームフィールドなどのインタラクティブ要素がdisplay: noneで隠されているページを報告します。 - 1ページにつき最大1件の検出結果を報告します。これらのパターンには正当な用途がある場合もあるため、検出結果は確定した不適合として数えるのではなく、確認のためにフラグ付けされます。
トラブルシューティング
フラグ付けされたスタイルは意図したものです
描画ツールでネイティブのタッチジェスチャーを無効にする必要がある場合や、デスクトップ専用の機能で、同じコンテンツにアクセスする別の方法を提供しながら、タッチデバイスではホバーメニューを隠す場合など、これらのパターンが実際に必要なページもあります。同等の入力経路が存在することを確認できる場合は、検出結果を承認してください。
ページで入力を制限していますが、フラグ付けされませんでした
Silktide はページ自体に記述された CSS だけを読み取ります。別途リンクされたスタイルシートファイル内のルールは、このチェックではスキャンされません。また、特定のデバイスでタッチイベントを無視するスクリプトなど、 によって適用された入力制限も確認できません。ここで合格しても、ページがこの達成基準を満たしているとは限りません。