首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节元素的角色属性值无效?

节元素的角色属性值无效?
EN

Stack Overflow用户
提问于 2013-04-29 23:32:23
回答 3查看 11.9K关注 0票数 11

在我现在工作的一个网站中,我有一个类型被设置为"main“的部分元素。根据WAI-ARIA的说法,section元素可以使用main作为role属性(role="main")。

但是,当我通过W3C验证器运行我的站点时,我得到一个"Bad value main for attribute role on element section“。错误。我之前在另一个网站中使用了main值,它确实通过了验证,但现在它不再有效,并报告了相同的错误。

最近是否更改了HTML5规范并去掉了main值?我应该相信WAI-ARIA还是W3C验证器?WAI-ARIA页面是否已过期?我是否应该只保留没有任何角色属性的section元素(它将恢复为"region“默认值)?

任何关于这方面的想法和技巧都将不胜感激:)

EN

回答 3

Stack Overflow用户

发布于 2013-04-30 07:56:40

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元素,有效角色是alertalertdialogapplicationcontentinfodialogdocumentlogmarquee、<代码>d13和<代码>d14。

最新版本的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"一起使用元素包括articledivfigurecanvasppreblockquoteoutput、D27、D28、D29、D30、D31、D32、D33、D34、D35、D36、D37、D38、D39、D40、D41、D42、D43、D44、D45、D46、D47、D48markrubyrtrpbdibdobrwbr,也许还有其他一些。显然,它们中的许多都是具有隐含语义的专家元素,并且只能在特定上下文中使用才能有效。最有可能的是,maindivarticle将是最适合使用的元素。有关更多信息,请参阅https://dvcs.w3.org/hg/aria-unofficial/raw-file/tip/index.html#recommendations-table

票数 4
EN

Stack Overflow用户

发布于 2013-12-08 06:17:05

现在尘埃落定了,很明显,代码<section role="main"></section>已经很好了,并传入了validator

它确实声明了right here in this tablemain角色对于section元素和是有效的角色,因此它应该是

如果你仔细想想,让这个语法无效是荒谬的,那些想要以特定方式创建文档大纲的人应该能够做到这一点,而不是被迫做一些像<main role="main"><section></section></main>这样的事情来绕过这个问题,那将是荒谬的。

票数 2
EN

Stack Overflow用户

发布于 2013-04-30 04:35:02

将验证器的HTML Doctype选项切换为HTML5,它应该可以工作,至少可以使用<div>。我刚刚对下面的标记运行了验证器,它验证了:

代码语言:javascript
复制
<!DOCTYPE html>
<head><title>Foo</title></head>
<body>
<div role='main'>
<p>foo</p>
</div>
</body>

HTML5验证被标记为实验性的,这可能解释了为什么它在<section>中有意外的行为。

另请注意,验证不是可访问性的先决条件。最好包括role属性和失败验证,这将使屏幕阅读器用户无法使用该功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16282584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档