Html 基本(全部)链接标记是否需要aria标签?

Html 基本(全部)链接标记是否需要aria标签?,html,wai-aria,lighthouse,Html,Wai Aria,Lighthouse,试图弄明白为什么灯塔审计将我的一堆链接标记为失败,元素具有可识别的名称 <h3> <a href="https://..." class="custom classes here">My New Post Title</a> </h3> 对于这一点,我理解a没有文本,因此aria标签应该与实际的文章标题一起放在div上,对吗 已解决 我看错元素了。。。祝你有愉快的一天。你的两个例子都很好,不应该被标记。一定还有别的事。您发布的代码是否正是正在

试图弄明白为什么灯塔审计将我的一堆链接标记为失败,
元素具有可识别的名称

<h3>
  <a href="https://..." class="custom classes here">My New Post Title</a>
</h3>
对于这一点,我理解
a
没有文本,因此
aria标签应该与实际的文章标题一起放在div上,对吗

已解决
我看错元素了。。。祝你有愉快的一天。

你的两个例子都很好,不应该被标记。一定还有别的事。您发布的代码是否正是正在测试的代码

ARIA属性应该谨慎使用,并且只在本机标记不足时使用。如您所说,如果

没有可识别的文本:

<a href="foo.html">
  <img src="foo.jpg" alt="foo">
</a>

链接上的
aria标签
属性(
a
元素带有
href
属性)仅当出于任何原因不可能或不希望使用可感知的链接文本时才应使用。(这包括图像链接中的
alt
属性。)如果有普通链接文本,则不应使用
aria标签
属性,因为该属性将覆盖链接文本。请参见文档中的可访问名称和描述计算1.1:
a
元素具有固有的作用,允许从其内容(即链接文本和/或链接中
img
上的
alt
属性)计算其名称。但是,仅当链接元素上没有
aria label
属性时,才执行此步骤(请参阅)

另请参见WAI-ARIA创作实践1.1,其中指出ARIA有时会覆盖原始语义或内容,引用
ARIA标签
作为示例


因此,如果Lighthouse用可感知的链接文本标记链接,并且没有
aria标签
属性,那么肯定有其他的事情发生,比如CSS隐藏元素。

非常有用的回答,谢谢。我不确定这是否是Lighthouse的问题,因为我不知道什么会导致它失败。我有大约12个这种结构的实例真的(锚定在h3内的显示:网格中),它们都是可以确定可见的,因为它们只是白色背景上的黑色文本……我非常怀疑这是灯塔问题。灯塔使用aXe(由Deque提供)作为其可访问性规则,aXe的主要目标是“无误报”。他们宁愿有未检测到的问题,也不愿错误地报告问题。您可以为Firefox或Chrome安装aXe扩展。如果您在页面上运行aXe,您应该会得到与Lighthouse相同的“可识别文本”错误。您是否可以在有问题的页面上打开代码检查器,并复制/粘贴
显示:网格
父级(以及随后的h3和锚定子项)到他们自己的文件并在上面运行aXe/Lighthouse?也许也会发布代码。所以我最终意识到我看到的元素是错误的…我有一个额外的链接到h3,它里面有一个图像,这是导致问题的原因。不过我会投票,因为你回答了我的其他问题!谢谢你的投票但是答案应该被标记为正确,因为我在回答的最后解决了图像问题。你知道Lighthouse或Axe是否会标记一个覆盖,这是一个不好的做法吗?如果我的父母和孩子有一个aria标签,例如文本?@TaylorA.Leach Lighthouse不会标记元素上的每个
aria标签
(例如,
div
)具有文本内容的子元素。(
a
元素是可聚焦的,这可能会有所不同。)
<a href="foo.html">
  <img src="foo.jpg" alt="foo">
</a>
<a href="foo.html">
  <img src="foo.jpg">
</a>