Короткий ответ «да», он нарушает WCAG 3.2.2 На входе , что является требованием A (single-A).
Это не очень хороший UX для всех,Когда вы программно связываете метку с флажком, используя атрибут for
, такой как:
<input type="checkbox" id="foo">
<label for="foo">history</label>
, это позволяет пользователям мыши нажимать либо на само поле, либо на метку.Если вы сделаете ярлык ссылкой, то, нажав на ярлык, вы перейдете к месту назначения ссылок вместо того, чтобы установить флажок.Это нарушило бы понятный принцип WCAG, в частности, 3.2.2 На входе
С точки зрения программы чтения с экрана, проблема не так уж и плоха.Для следующего кода:
<input type="checkbox" id="foo">
<label for="foo">
<a href="some url">history</a>
</label>
<input type="checkbox" id="bar">
<label for="bar">favorites</label>
при I tab через интерфейс я услышу «флажок истории, не отмечен» и «флажок избранного, не проверен».Это звучит нормально.Однако между этими двумя я услышу «связь истории».Ссылка на историю, похоже, будет просто "плавать" между двумя флажками.Флажки будут работать правильно, а ссылка будет работать правильно, но только потому, что пользователь программы чтения с экрана, который не использует какое-либо зрение, не будет пытаться выбрать ссылку в качестве метки флажка.
Если у вас слабовидящий пользовательэто расширяет их зрение с помощью программы чтения с экрана, они могут увидеть некоторое подобие флажка и метки и попытаться щелкнуть мышью по метке и будут сбиты с толку, если их перенаправить на место назначения ссылки.