html - 停止屏幕阅读器读取 <a> 中的 href

标签 html hyperlink wai-aria screen-readers

我的 anchor 标记定义如下:

<a href="www.abc.com">
  <div tabindex="0" aria-label="XXXX"> 
   ...
  <div>
</a>

当前,屏幕阅读器读取 href 的内容在<a>标签。但是,我不想要 href可以阅读,但是aria-label中的内容在 div

我想知道实现目标的正确方法是什么?

最佳答案

您的

没有任何语义,因此 aria-label基本上会被忽略。请参阅https://www.w3.org/TR/using-aria/#label-support 。具体来说,倒数第三个要点:

  • Don't use aria-label or aria-labelledby on a <span> or <div> unless its given a role.

想要tabindex="0"在不可操作/交互的元素上。

只需输入您的 aria-label在 anchor 本身上:

<a href="www.abc.com" aria-label="XXXX">

请注意,如果您的 anchor 链接中有任何可见文本(示例代码中有“...”,所以我不确定那里是否有任何文本),请确保 aria-label包含相同的文本以及您想要的任何其他文本。如果您不这样做,那么语音界面用户可能无法选择您的链接。

关于html - 停止屏幕阅读器读取 <a> 中的 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396242/

相关文章:

包含动态图像的 HTML 按钮 - 调整大小

javascript - 检索 Canvas 上元素的 ID

php - 创建动态链接而不创建新的 .php 页面/文件

mysql - Joomla 文章链接 #1064 - 您的 SQL 语法有误;

html - SVG 的默认 ARIA 角色是什么?

javascript - jquery默认禁用复选框

javascript - CSS、JavaScript、HTML - 所见即所得编辑器中的空段落和错误代码

javascript - 是否可以使用 javascript/jquery 禁用链接重定向?

jquery - 我对 jquery、aria-disabled 和 :disabled selector? 缺少什么

html - 如何让屏幕阅读器将 C/F 读取为摄氏度/华氏度?