Роль main
действительна или нет, в зависимости от используемого типа документа. Если вы используете тип документа HTML5: <!DOCTYPE html>
он должен пройти проверку. Если вы используете более ранний тип документа, такой как XHMTL или html4, этого не произойдет. См. https://developer.mozilla.org/en-US/docs/Accessibility/ARIA/Web_applications_and_ARIA_FAQ#What_about_validation.3F для получения подробной информации.
Если вам нужно использовать тип документа, где он недействителен и вы должны его проверить, вы можете добавить его через JavaScript. Это позволит избежать проблем с проверкой.
Однако роль main
будет проверяться только в том случае, если она используется для определенных элементов. Для элемента section
допустимыми ролями являются alert
, alertdialog
, application
, contentinfo
, dialog
, document
, log
, marquee
, search
и status
.
Последняя версия HTML; HTML5.1 включает встроенную поддержку main через элемент main
. Вы можете использовать этот элемент вместо <section role="main">
. См. http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element
Другие элементы, которые можно использовать с role="main"
, включают article
, div
, figure
, canvas
, p
, pre
, blockquote
, output
, span
, table
, td
, tr
, em
, strong
, small
, s
, cite
, dfn
, dfn
, s
time
, code
, var
, samp
, kbd
, sub
, sup
, i
, b
, u
, mark
, ruby
, rt
, rp
, bdi
, bdo
, br
и wbr
, и, возможно, некоторые другие. Очевидно, что многие из них являются специальными элементами с подразумеваемой семантикой и могут использоваться только в определенном контексте, чтобы быть действительными сами по себе. Скорее всего, наиболее подходящим элементом будет main
, div
или article
. Для получения дополнительной информации см. https://dvcs.w3.org/hg/aria-unofficial/raw-file/tip/index.html#recommendations-table
person
David Storey
schedule
29.04.2013
<main>
, но, насколько я вижу, спецификации по-прежнему разрешаютrole="main"
на<section>
. Возможно, это просто ошибка валидатора. - person robertc   schedule 29.04.2013