语义标签与 ARIA 角色:为什么是其中之一?

问题描述 投票:0回答:2

我知道,在许多情况下,HTML 元素不仅仅是简单地影响页面的语义,而且附加功能使其成为不费吹灰之力的选择。例如,虽然有

textbox
ARIA 角色,但几乎总是尽可能使用
<input>
<textarea>
元素。

但是,对于“语义”HTML 元素,我找不到任何信息表明它们除了提供默认的 ARIA 角色以实现可访问性并提供一些较小的代码可读性增强之外,还做了其他事情。例如,<main> 元素的

only
目的(据我所知)似乎是一个“快捷方式”,可以避免输入一些额外的字符
<div role="main">
,这也导致可读性略有提高。

那么,这种微小的可读性改进真的是唯一使用

<main>
而不是
<div role="main">
的原因吗,或者还有其他我可能会遗漏的原因吗?有什么可以想象的理由让我更喜欢后者吗?

accessibility wai-aria
2个回答
1
投票

使用语义 HTML 对页面进行语义结构化,使内容对于浏览器、浏览器扩展、搜索引擎和其他工具来说是机器可读的,而无需扩展它们的代码以涵盖 ARIA。

这对于可访问性尤其重要,因为辅助技术就是这样的工具,可能会为某些角色附加额外的功能。通常,这些依赖于浏览器的可访问性 API,但有几个可以覆盖不同的平台。

浏览器的阅读模式,例如,可以轻松地从

<main>
中提取内容。处理角色属性也会使编码变得更加困难。

如果您不需要覆盖 ARIA 属性,那么编写用户样式表以提高可访问性会更容易。


-1
投票

W3C 写了一个关于使用 aria 的完整文档:W3C 使用 ARIA

ARIA 的第一条规则解释了您优先考虑具有内置语义和行为的本机 HTML 元素或属性。

在您的示例中,该元素是具有隐式主要角色的本机 HTML 元素。你可以看看HTML隐式角色的完整列表

© www.soinside.com 2019 - 2024. All rights reserved.