2015-11-29 13 views
1

Tenon.io отметил этот код недействительным, так как это «абзац без текста».Является ли абзац недоступным, если он содержит только кнопку?

<p class="dataform-submit"> 
    <input type="submit" value="Submit request" /> 
</p> 

Действительно ли этот код «недоступен»? Какой семантический блок-тег следует использовать для размещения кнопки отправки (и, вообще, частей формы)?

ответ

3

Нет, это не является недоступным.

Я не думаю, что p является самым подходящим элементом здесь, потому что эта кнопка на самом деле не представляет «типичный» paragraph, но выбор разметки в этом случае не должен влиять на доступность. Это проблема семантической разметки, а не доступности.

Каждый способный пользовательский агент должен иметь возможность обрабатывать p, который содержит текст и кнопку (что является комбинацией, которая может иметь смысл во многих случаях). Удаление текста из этого не меняет ничего принципиально, поэтому нет оснований предполагать, что существует пользовательский агент, который больше не сможет его обрабатывать.

¹ Я бы не использовал ни одного родительского элемента вообще, или если он необходим для целей стилизации, бессмысленный div.

+0

Я также хотел бы добавить, что

+0

@unor: У меня есть отвращение к смешанным по умолчанию встроенным элементам и элементам уровня блокировки по умолчанию, содержащимся одним и тем же родителем. –

+0

@ DávidHorváth: Я могу относиться к этому;) Я бы использовал «div» (как и для каждой пары меток + вход, считая, что это такая форма). – unor

1

Ваш пункт не является пустым и разъяснения, представленные на Tenon не применяется здесь:

Абзац был найден без текста в нем. Хотя это имеет тенденцию иметь низкую степень серьезности, это создает ненужную неприятность для пользователей экранных устройств, которые, вероятно, услышат объявление пустого абзаца при навигации по контенту. Если этот пустой абзац существует, чтобы вести себя как маржа, вместо этого используйте CSS для этой цели.

У вашего input есть строка замены текста, и алгоритм должен ее рассмотреть.

Это ошибка. И этот тест довольно вздор, так как не будет никакой разницы для прошивки, если здесь используется div.

Смежные вопросы