本文へ移動
easeweb
ご相談
トピックを検索

ボタンで代われないピンチ・ドラッグ・傾きのジェスチャー

商品の360度ビューが、ドラッグでしか回らず、ピンチでしか拡大できず、スマートフォンを傾けるたびに回ります。どれにもボタンがなく、傾きで回るのを止める方法もありません。

WCAG 2.2
SC 2.5.1A· 2.1 で追加SC 2.5.4A· 2.1 で追加SC 2.5.7AA· 2.2 で追加
必須とする規格
EN 301 549(EU)
問題あり frame.addEventListener('touchmove', pinchToZoom)
アクセシビリティの問題を示した図: 手の操作:指1本でどうやって拡大するの?
01

問題

指1本、マウス、ヘッドポインター、スイッチ、音声操作、スクリーンリーダーで操作する人は商品を回すことも拡大することもできず、手やスマートフォンが動く人は、商品が回るのを止められません。

02

試してみる

マグを回して、背面の小さな表示を読んでください。1回ずつのクリックかタップだけを使います。

スライダーは、スマートフォンを傾ける代わりです。それぞれの側で動かしてください。頼むまで、マグは止まったままですか?ドラッグとピンチも使えますが、使わずに試してください。

0°

問題あり 修正できますか?

ホーローマグ
ドラッグで回転、ピンチで拡大

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

どのジェスチャーにも同じことをするボタンを付け、傾きで回る機能は、利用者がオンにするものにします。

  1. 1ジェスチャーでできる回転、拡大、移動は、どれも、見える操作要素を1回ずつクリックかタップしてもできる。
  2. 2スマートフォンを傾けたり振ったりしても、ページ上の操作要素でオンにするまで何も起きず、同じ操作要素でオフにできる。
  3. 3ジェスチャーは近道として残し、ビューの上に置いた指でもページをスクロールできる。
修正前 ジェスチャーでしか動かないビュー
<figure class="spin-view">  <div class="spin-frame">    <img src="mug-00.jpg" alt="Enamel mug">  </div>  <figcaption>Drag to turn. Pinch to zoom.</figcaption></figure>
修正後 ビューの横のボタンと、スイッチで切り替える傾き
<figure class="spin-view">  <div class="spin-frame" tabindex="0" role="region" aria-label="Zoomed photo">    <img src="mug-00.jpg" alt="Enamel mug">  </div>  <figcaption>Drag to turn. Pinch to zoom.</figcaption>  <div class="spin-controls">    <button type="button" data-turn="-1">Turn left</button>    <button type="button" data-turn="1">Turn right</button>    <button type="button" data-zoom="-1">Zoom out</button>    <button type="button" data-zoom="1">Zoom in</button>    <button type="button" class="tilt-switch" aria-pressed="false" hidden>Turn by tilting the phone</button>  </div></figure>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得

04

修正の確認

5つの確認

確認方法: マウス、タッチ、端末の動き、キーボード、音声入力、スクリーンリーダー

5件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。ビューアーやそのライブラリーを変更した際は、再度確認します。

制限

このサンプルは、どのビューアーでも同じ結果になることを保証するものではありません。2.5.1と2.5.4は、指で書く署名、歩数計、傾けて遊ぶゲームのように、ジェスチャーや動きが不可欠な場合を例外にしています。その例外に頼る前に、本当に不可欠か正直に確かめてください。ほかのジェスチャーには、それぞれのガイドがあります。スライドを切り替えるスワイプはキーボードやスクリーンリーダーで使えないカルーセル、つまみのドラッグはドラッグでしか動かない範囲スライダー、カードのドラッグはマウスでしか動かせないドラッグ&ドロップのボード、行のスワイプや長押しは右クリックや長押し、スワイプでしか出ない操作メニューを参照してください。お客様が使うスマートフォンと支援技術で、操作全体を確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方