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

ドラッグでしか色を選べず、値を入力できないカラーピッカー

ブランドカラーの設定で、四角い色の面と色相のバーがつまみのドラッグでしか動かず、選んだ色も文字で表示されるだけです。そのため、ピッカーのどこにもフォーカスが移らず、今の色も読み上げられず、色を入力することもできません。

WCAG 2.2
SC 2.1.1ASC 4.1.2ASC 2.5.7AA· 2.2 で追加
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <span class="hex">#366cd9</span>
アクセシビリティの問題を示した図: 手の操作:色はどこに入力するの?
01

問題

ドラッグできない人とスクリーンリーダーの利用者は、ブランドカラーを設定することも、今の色を知ることもできません。

02

試してみる

つまみをドラッグしてブランドカラーを変えてください。次に四角い面の別の場所をクリックし、マウスを使わずにTabでも試してください。

下の欄に、スクリーンリーダーの読み上げが出ます。ドラッグせずに色を設定できますか?「#2a9d8f」を入力できますか?

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

問題ドラッグでしか動かない四角い面と色相のバー
ブランドカラー
#366cd9

スクリーンリーダーの読み上げ:

(Tabで設定画面を移動)

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

03

修正方法

ピッカーに色を入力できる欄を設け、四角い面とバーは、フォーカスを受けて値が読み上げられ、キーでも1回のクリックでも動く操作要素にします。

  1. 1色をコードで入力でき、その入力欄に名前がある。
  2. 2色を設定する部分はどれもフォーカスを受け、名前と値が読み上げられ、キーで動く。
  3. 3どの色も、ドラッグだけでなく、クリック、タップ、入力で設定できる。
修正前 ドラッグでしか動かない四角い面と色相のバー
<div class="brand-colour">  <span class="label">ブランドカラー</span>  <div class="sv-area" style="background-color: hsl(220 100% 50%)">    <span class="handle" style="left: 75%; top: 15%"></span>  </div>  <div class="hue-strip">    <span class="handle" style="left: 61%"></span>  </div>  <div class="preview" aria-hidden="true" style="--brand: #366cd9">…</div>  <span class="hex">#366cd9</span></div>
修正後

ピッカーの横にカラーコードの入力欄

<div class="brand-colour" role="group" aria-labelledby="brand-label">  <span class="label" id="brand-label">ブランドカラー</span>  <div class="sv-area" style="background-color: hsl(220 100% 50%)" aria-hidden="true">    <span class="handle" style="left: 75%; top: 15%"></span>  </div>  <div class="hue-strip" aria-hidden="true">    <span class="handle" style="left: 61%"></span>  </div>  <div class="preview" aria-hidden="true" style="--brand: #366cd9">…</div>  <label for="brand-hex">カラーコード</label>  <input type="text" id="brand-hex" value="#366cd9" maxlength="7" spellcheck="false" autocomplete="off"></div>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。

04

デザインの案

入力でも、パレット、スライダー、ホイールでも、ドラッグなしで色を選べます。

ブランドカラーの設定を5通りに描きました。クリックだけで操作してから、Tabで移動して矢印キーや入力も試してください。4つはドラッグなしで設定でき、今の色がスクリーンリーダーにも伝わります。1つは、スクリーンリーダーに「ボタン」としか伝わりません。

デザインファイルで

  • カラーコードは1行の文字ではなく、入力できる欄として描く。
  • 入力欄から開くピッカーは、開いた状態と閉じた状態を描き、次の入力欄を覆わない位置に開く。
  • 四角い面、バー、ホイールをクリックすると、ドラッグと同じようにつまみがそこへ移ることを書き添える。
  • パレットの色には「Ocean」「Coral」のような読める名前を付け、画面にも表示する。
  • つまみは濃い縁の付いた白い輪で描き、フォーカスの枠が付いた状態も描く。

合格

  • ピッカーが開くカラーコードの入力欄 閉じた状態は、先頭に色の小さな四角が入った小さな入力欄です。クリックやTabで入力欄に移ると、カーソルを入力欄に残したまま、その下に小さな面と色相のバーが開きます。入力はそのまま続けられ、面やバーをクリックすればドラッグなしで色が決まり、Escapeで閉じます。キーボードの利用者はコードで色を指定します。
  • ブランドカラー
    名前の付いた色見本のチップ 色ごとに、点と名前の入ったピルにし、枠線は#6b7280(4.83:1)です。選んだ色は2pxの#1a1a1aの枠線とチェックマークになります。ForestとSlateを見分けにくい人も名前で区別でき、スクリーンリーダーにも名前が伝わり、矢印キーで色の間を移動できます。
  • ブランドカラー

    動かす先の色を描いた3本のスライダー 色相、彩度、明るさのそれぞれに、動かした先の色を描いたトラックと、端に書いた値(「220°」「75%」)があります。トラックのどこをタップしてもそこに設定され、矢印キーで1段ずつ動くため、どの色にもドラッグは不要です。
  • ブランドカラー
    クリックで選べるカラーホイール 色相の輪の中央に選んだ色を、下にその名前を表示します。輪のどこをクリックまたはタップしても、つまみがそこへ移ります。WCAGの解説書がカラーホイールの例で示すとおりの動きで、矢印キーでも回せます。

不合格

  • ブランドカラー
    名前のない丸い色見本WCAG 4.1.2 5つの丸い色見本で、選んだものにチェックマークが付きます。Tabでは届きますが、スクリーンリーダーは「ボタン」と5回言うだけで、OceanとCoralの区別も、どれを選んでいるかも伝わらず、音声操作で呼ぶ名前もありません。
05

修正の確認

5つの確認

確認方法: キーボード、スクリーンリーダー、マウス、タッチ

5件中0件を確認済み

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

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。range入力の読み上げ方はスクリーンリーダーによって異なり、名前より先に値を読むものや、iOSのようにキーではなく上下のスワイプで動かすものもあります。ブラウザー標準のカラーピッカーはバージョンによって変わるため、利用者が使うものを確認してください。価格や音量のような1本のスライダーはドラッグでしか動かない範囲スライダー、ジェスチャー全般はボタンで代われないピンチ・ドラッグ・傾きのジェスチャーで扱います。選んだ色の上で白い文字が読めるかどうかは別の確認です。ブランドカラーや写真の上でコントラストが足りない文字を参照してください。対象とする支援技術で、設定の操作全体を確認してください。

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

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

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

再テストの進め方