Таким вопросом задалась Сара Суиден в твиттере. В HTML есть элемент
<label for>, с помощью которого можно задать имя встроенным элементам <input>, <textarea>, <select>, <button>, <meter>, <progress>, <output> и FACE (Form-associated Custom Elements). Если у элементов не заданы атрибуты aria-label и aria-labelledby, то текст из <label> используется как имя.Почему бы не добавить аналогичную возможность для указания
aria-description/aria-describedby? На данный момент нет способа сделать это без ARIA. С новым элементом это может выглядеть так:<label for="password">Пароль</label>
<input type="password" name="password" id="password">
<description for="password">Пароль должен содержать не менее 8 символов, а также включать как минимум одну цифру, одну букву и один символ пунктуации.</description>
Элемент создаёт привязку с описанием, которое будет озвучиваться программами чтения с экрана, если эта функция включена. Это позволит следовать правилу "не использовать ARIA".