Я работаю над внедрением отчета о доступности WCAG для крупного веб-сайта. Как и ожидалось, одной из повторяющихся проблем являются метки в формах.
До сих пор я предполагал, что правильный способ связать метку формы с ее элементом - использовать имя входного элемента в атрибуте формы метки, например:
<label for="name[1]">Your name: </label>
<input type="text" name="name[1]" placeholder="Your name">
Однако среда, которую использует клиент, предпочитает выплевывать код следующим образом:
<label for="user_first_name">Your name: </label>
<input type="text" name="name[1]" id="user_first_name" placeholder="Your name">
Моя логика основывалась на понимании того, что не все элементы формы имеют атрибут «ID», позволяющий им однозначно манипулировать DOM (например, CSS и Javascript), но all POST- и GET- элементы формы метода do имеют атрибут 'name', позволяющий отправлять данные на удаленный сервер, наиболее часто используемый для клиентской формы браузера.
Я не хочу отправлять PR клиенту с ошибочным пониманием назначения атрибута «for» в тегах меток, что приведет к сбою их следующего аудита WCAG.
Так что это?