label label
フォーム入力に読み上げ可能な名前が無い状態。type / name / placeholder から推定する。
補正が発火するマークアップ
type と name の両方がメールアドレスを示す。「メールアドレス」を confidence 0.75 で設定する。
type=password。「パスワード」を設定する。
type=search。「検索」を設定する。name が 1 文字でも type から決まる。
EC の色選択。name がブラケット記法でも部分一致で辞書に当たり「色を選択」になる。
配送先の国。camelCase の name から辞書に当たり「国・地域を選択」になる。
数量。name の qty から「数量」になる。
type / name からは決まらないが placeholder がある。誘導文「例:」を除去して 「山田太郎」を confidence 0.55 で設定する。placeholder はラベルとしての品質が 保証できないため自動適用しない。
textarea。手がかりが name だけなので機械的に人間可読化して
aria-label="inquiry body" を confidence 0.65 で提案する。自動適用しない。
可視ラベルが <label for> で正しく関連付けられているが、現行ルールは
この関連付けを見ないため候補が生成される。適用すると可視ラベルと読み上げ名が
別々に決まることになる。既知の挙動としてここに固定している。
補正が発火してはいけないマークアップ
type="hidden" は対象外。label / autocomplete / aria-invalid-initial のいずれも発火しない。
aria-label が付いている。label は発火しない。 (aria-invalid-initial は別条件のため発火する)
aria-label があり、かつ id / name が無い。label も aria-invalid-initial も 対象を特定できないため候補を作らない。