Form Design Patterns
視覚障害者や運動障害のあるキーボードユーザーにも対応したアクセシブルなフォームデザインのパターンを実装例とともに解説した技術書だ。
シェアされたアックリップです。
視覚障害者や運動障害のあるキーボードユーザーにも対応したアクセシブルなフォームデザインのパターンを実装例とともに解説した技術書だ。
AI 生成テキストをストリーミング表示する際、未完成の Markdown 構造が不正な見出しやリンクになり、スクリーンリーダー・キーボード利用者に虚偽の情報を伝える問題を分析。状態管理と ARIA 属性による解決法を提示。
状態管理のバグがキーボード操作とスクリーンリーダーユーザーに異なる影響をもたらす仕組みと、デバッグの順序を解説。実装時に状態遷移表を作成することの重要性を示す。
CSSのreading-flowプロパティを使い、flexboxやgridで視覚順序が変わった際のフォーカス順序と視覚の乖離を解決。キーボード操作とスクリーンリーダー対応を同時に実現する方法を解説。
同じHTMLを異なるCSSリセットで実装した3パターンを比較。:focusでアウトラインを削除するCSSリセットがキーボードユーザーのフォーカス追跡を不可能にする問題と、:focus-visibleによる解決法を実装で検証している。
同じHTMLを異なるCSSリセットで実装した3パターンを比較。:focusでアウトラインを削除するCSSリセットがキーボードユーザーのフォーカス追跡を不可能にする問題と、:focus-visibleによる解決法を実装で検証している。
AIチャットの応答遅延時に、何も起きていない状態がキーボード・スクリーンリーダーユーザーに伝わらない問題を指摘。フォーカス消失や live region 更新の不備を具体的に説明し、待機・ストリーミング・スタール等の状態遷移を accessible name と live region で通知する実装例を解説。
React でメールフォームを状態管理(idle、editing、invalid、submitting、success、server error)で構築し、ARIA を用いてアクセシビリティを確保する実装パターン。ユーザーへの段階的情報提供を重視。
同じHTMLを異なるCSSリセットで実装した3パターンを比較。:focusでアウトラインを削除するCSSリセットがキーボードユーザーのフォーカス追跡を不可能にする問題と、:focus-visibleによる解決法を実装で検証している。
同じHTMLを異なるCSSリセットで実装した3パターンを比較。:focusでアウトラインを削除するCSSリセットがキーボードユーザーのフォーカス追跡を不可能にする問題と、:focus-visibleによる解決法を実装で検証している。
color-schemeプロパティでダークモードにおけるブラウザのネイティブUI(日付入力、セレクト、スクロールバー)の自動対応が可能。カスタムコンポーネント制作なしで実装できるテクニック。
ネイティブ<input type="checkbox">を保ちながらカスタムスタイリングする方法。キーボード操作とスクリーンリーダー対応をデフォルトで獲得し、複数の支援技術に対応する責任あるチェックボックスの実装パターンを解説。
HTMLの input type="number" が金額入力に不適切な理由と、type="text" + inputmode="numeric" での実装方法を詳説する。カンマが入力できない、マウスホイールで値が変わるなどの問題を指摘し、Reactコード例を示す。
AIエージェントが画面を操作するとき、見た目よりセマンティックな構造が重要。意味を明示するとUIの操作成功率が43%から90%に向上する。
ブラウザが DOM から構築するアクセシビリティツリーの仕様と構造。Role・Name・State・Value の計算ルール、OS 別 API への変換、支援技術との連携メカニズムを技術的に解説。
noteエディタの見出し画像ボタンのaria-label欠落により、Playwright自動化テストが失敗。同じ欠落がスクリーンリーダーにも影響することを指摘し、位置・サイズで検索する回避策を解説。
React でメールフォームを状態管理(idle、editing、invalid、submitting、success、server error)で構築し、ARIA を用いてアクセシビリティを確保する実装パターン。ユーザーへの段階的情報提供を重視。
AI 生成テキストをストリーミング表示する際、未完成の Markdown 構造が不正な見出しやリンクになり、スクリーンリーダー・キーボード利用者に虚偽の情報を伝える問題を分析。状態管理と ARIA 属性による解決法を提示。
状態管理のバグがキーボード操作とスクリーンリーダーユーザーに異なる影響をもたらす仕組みと、デバッグの順序を解説。実装時に状態遷移表を作成することの重要性を示す。