状態
無効状態
Disabled
無効状態とは、ある要素が今は操作できないことを示す状態で、色を薄くして押しても反応しないようにしたものです。
定義
無効状態とは、ある要素が今この瞬間は動作しないことを見せるための状態です。 たいていは色を薄くトーンダウンし、マウスを乗せるとカーソルが禁止マークに変わり、 押しても何も反応が返ってきません。こうして視覚的に力を抜いておくと、ユーザーは わざわざ押してみなくても「これは今は使えない」と気づけます。必須項目をまだ埋めて いない送信ボタンや、すでに最大数に達してこれ以上押せない加算ボタンのように、 ある条件がそろうまで一時的にロックしておきたい場面で使われます。つまり無効状態は、 要素を消してしまわずに「今は触らないでください」と丁寧に線を引く方法なのです。
なぜ重要か
無効状態は、ユーザーが今できないことに時間を無駄づかいしないよう、あらかじめ止めて くれる案内板です。もし押せないボタンが普通のボタンとまったく同じ見た目だったら、 ユーザーは押してみて何も起きずに戸惑い、自分が何か間違えたのかと責めてしまうことも あります。反対に、薄く処理されたボタンは「今はタイミングではない」という意味を静かに 伝え、無駄なクリックと混乱を減らしてくれます。ただし無効状態には落とし穴があります。 なぜ使えないのか理由を伝えないと、ユーザーは画面の前で行き止まりになり、次に何を すればいいのか分からずそのまま離れてしまうことがあります。だからよくできた無効状態は、 単にブロックするだけで終わらず、何をすればまた使えるようになるのかまで一緒に伝えます。 ふさぐことと導くことを一つにして扱ってはじめて、無効状態は壁ではなく道しるべになります。
よくある間違い
- なぜ無効になっているのか、その理由をまったく伝えないことです。薄いボタンだけが ぽつんとあると、ユーザーは何を埋めれば押せるのか分からず途方に暮れます。「必須項目を 入力すると有効になります」といった短い案内が一行あるだけで、大きな差が生まれます。
- 色を薄くするだけで区別しようとすることです。色だけで区別すると、色覚に特性のある ユーザーは有効と無効を見分けにくいので、明度差やほかの手がかりも一緒に添える 必要があります。
- 無効なボタンを完全に消してしまったり、位置を動かしたりすることです。押すべきものが なくなると、ユーザーはそもそもその機能が存在したことにすら気づけず、条件をそろえた あとでもその機能を見つけられず迷ってしまいます。
実務のヒント
- なぜ今は使えないのか、その理由も一緒に伝えましょう。「必須項目を入力すると有効に なります」といった一行の案内やツールチップがあるだけで、ユーザーはいらだたずに 次にやることをすぐ見つけられます。
- 色を薄くするだけでなく明度もはっきり落として、色覚に特性のあるユーザーでも有効と 無効をくっきり区別できるようにしましょう。コントラストはアクセシビリティの基本です。
- 無効な要素は押しても反応しないよう確実にブロックしつつ、画面から消さずに薄く残して おきましょう。場所をキープしておくことで、ユーザーはその機能の存在と有効化の条件を 認識できます。
AIに頼む
下に貼り付けるコードから、disabled 状態のボタンをすべて見つけて。色を薄くするだけでなく明度もはっきり下げて、色覚異常のあるユーザーでも有効と無効をくっきり区別できるようにして、アイコンやラベルのような色以外の手がかりをもう一つ添えて。押しても何も反応しないよう確実に防いで、hover 時は cursor: not-allowed でカーソルを変えて。そして、なぜ今は押せないのか [有効化条件 — 例: 必須項目をすべて埋めると有効化される] をツールチップかすぐ横の一行案内で知らせて、無効ボタンを画面から消したり位置を動かしたりせず、その場に薄く残して。変更した箇所と根拠を表にまとめて。
[フォームの性格 — 例: 会員登録フォーム] の送信ボタンを、必須項目がすべて埋まるまで無効のままロックしておく UX とロジックを設計して。条件が満たされないときはボタンを薄く、色だけでなく明度まで下げてロックしつつ、画面から消したり位置を動かしたりせず、その場に留めて、ユーザーがそのボタンの存在と有効化条件をずっと認識できるようにして。押しても反応しないよう防いで、'[残りの条件 — 例: メールアドレスとパスワードを入力すると有効になります]' のような一行案内やツールチップで、何をすれば押せるようになるのかを常に見せて。条件が満たされたら即座に有効な状態へ切り替わる状態遷移まで含めてコードで出して。
[製品/デザインシステム名] の disabled 状態の標準スペックを作って。色を薄くするだけでなく明度を確実に下げて、色覚異常があっても有効と区別できるようにするのを原則に据えて、opacity・明度の値と、色以外の補助的な手がかりのルールを定義して。インタラクションは pointer-events で実際にクリックを止めて、cursor: not-allowed と aria-disabled の処理、hover/active 効果の除去までルールに入れて。最後に、無効な要素は隠したり移動させたりせずその場に残すという原則と、なぜ無効なのかの案内(ツールチップ/ヘルパーテキスト)を併せて置くという原則を明記して、ボタン・インプット・チェックボックスに適用した CSS 例を添えて。