This page is also available in English.
デフォルトのコンタクトフォームテンプレートが8年ぶりに変更されました。主な変更点は label
要素の追加です。
label
要素を使ってフォームコントロールをラベル付けすることがアクセシビリティのガイドラインで推奨されています。以前のバージョンでは、デフォルトのテンプレートでは label
要素を使っておらず、そのため、フォームをアクセシブルにしたいなら自分で追加する必要がありました。
2008年より以前にリリースされたバージョンでは label
要素がデフォルトテンプレートで使われていたのですが、ある理由があって廃止されました。
もし label
要素がデフォルトテンプレートで使われていたとすると、ユーザーはそれに倣い、自分が追加したフィールドにも label
要素を使おうとするでしょう。そのこと自体は何の問題もありませんが、しばしばこれが重大なミスを導きました。
label
要素まわりで見られるありがちなミスを実演するために、次の行をあなたのコンタクトフォームに追加してみてください:
<label>[checkbox your-country "中国" "インド" "サンマリノ"]</label>
正しく見えますか? では2番目か3番目の項目のラベル(“インド” もしくは “サンマリノ” と書かれたテキスト)をクリックしてみてください。チェックボックスにチェックを入れることができますか? できませんよね。これはまるっきり壊れているんです。
こういうことが起こるのは単一の label
要素内に複数のフォームコントロールを置いたためです。一つの label
要素は一つのフォームコントロールに対応していなければなりません。前述のフォームタグ ([checkbox your-country "中国" "インド" "サンマリノ"]
) は実際には3個の入力フィールドに置換されるので、マークアップとして正しくないものになります。
チェックボックスやラジオボタンのラベル付けには、Contact Form 7 は use_label_element
オプションを用意しています。label
要素の代わりにこちらを使ってください。
デフォルトのコンタクトフォームテンプレートで label
要素を使うことはこのような問題を誘発させることにもなるため、一旦は廃止されました。しかしながら、ユーザーに正しいラベル付けを促すべきだということもまた、疑いのないことでしょう。
このような状況の打開策として、Contact Form 7 4.5 はその設定検証ツールに新たなテスト項目を導入します。一つの label
要素の中に2個以上のフォームコントロールを挿入すると、誤設定を示すアラートが表示されます。
この改善は WordCamp Europe 2016 コントリビューター・デーでの WordPress アクセシビリティチームとの議論の結果として作られました。
必要バージョン: WordPress 4.4 以上
テスト済み: WordPress 4.6 まで
» WordPress.org から Contact Form 7 プラグインをダウンロード
変更点
- デフォルトコンタクトフォームテンプレートの改定。
- reCAPTCHA: フォーム送信後に
grecaptcha.reset()
を実行。 autocomplete
属性の操作のために、フォームタグのautocomplete
オプションとwpcf7_form_autocomplete
フィルターフックを導入。- 設定検証の刷新。サードパーティーのコードから介入可能にするため
wpcf7_config_validator_validate
アクションフックを導入。 - 文字数カウントのフォームタグのバグが修正された。
- 言語パック: デンマーク語 (da_DK)、ポーランド語 (pl_PL)、チェコ語 (cs_CZ) の言語ファイルがプラグインのパッケージから削除された。