正确的 ARIA 处理面包屑导航

2024-01-21

可以采取哪些措施来提高面包屑菜单的可访问性,类似于:

<ul class="breadcrumbs" aria-label="breadcrumb navigation" role="navigation">
    <li><a href="~/">Home</a></li>
    <li><a href="~/news">News</a></li>
    <li class="unavailable"><a href="#">@Model.Title</a></li>
</ul>

在此示例中,Home 是站点根目录,News 是第一个子项,不可用类是当前项 /news/article 项。

有什么可以做的来改善这一点,例如使用rel属性或aria-level属性?


我会避免使用aria-level并使用<ol>元素代替。只要存在本机替代方案,最好避免使用 aria 属性。使用 aria 会增加额外的复杂性。简单的 HTML 要好得多,并且已经具有 AT 所呈现的语义。这是ARIA 的第一条规则 https://www.w3.org/TR/aria-in-html/#rule1.

借自WAI-ARIA-实践文件 https://www.w3.org/TR/wai-aria-practices/#breadcrumb,面包屑看起来像这样:

<nav aria-label="Breadcrumb" class="breadcrumb">
    <ol>
      <li>
        <a href="../../">
          WAI-ARIA Authoring Practices 1.1
        </a>
      </li>
      <li>
        <a href="../../#aria_ex">
          Design Patterns
        </a>
      </li>
      <li>
        <a href="../../#breadcrumb">
          Breadcrumb Pattern
        </a>
      </li>
      <li>
        <a href="./index.html" aria-current="page">
          Breadcrumb Example
        </a>
      </li>
    </ol>
</nav>

一些注意事项:

  1. 将面包屑包裹在一个<nav>元素可让屏幕阅读器用户快速找到并跳转到面包屑。
  2. Using <ol>元素向屏幕阅读器用户显示命令。
  3. The <ol>应该是的孩子<nav>。一些实现适用role="nav" to the <ol>本身。这是错误的并且会覆盖默认值<ol>语义。
  4. aria-current通知屏幕阅读器用户这是当前页面。如果当前页面的最后一个面包屑不是链接,则aria-current属性是可选的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正确的 ARIA 处理面包屑导航 的相关文章

  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • 在随机位置启动 HTML5

    我有一个大约 2 小时长的音轨 我想在我的网站上使用它 我希望它在页面加载时在随机位置开始播放曲目 使用 HTML5 可以吗 我知道您可以使用 element currentTime 函数来获取当前位置 但是如何在完全下载之前获取曲目的总时
  • 如何使跨度标签不可删除?

    我正在尝试使 contenteditable div 内的跨度标记不可删除 div Editable span Read Only span div 只读范围确实是只读的 但我可以通过单击删除键来删除整个范围 有没有一种属性方法可以告诉sp
  • 将特定字形与网络字体一起使用

    使用网络字体 我想使用字体功能设置 CSS 中的选项以及跨度类HTML 中 以便使用字体集中的特定替代字形 我需要以正确的语法使用哪些值 GID Unicode 才能定位特定的目标glyph内glyph备择方案 这些功能使用 OpenTyp
  • Facebook 点赞按钮消失

    我的网站中的 Facebook Like 按钮出现问题 添加此代码 由 facebook 提供 按钮在创建时正确显示在任何页面中
  • 如何在数据列表 HTML PHP 中设置选择

    您好我想知道是否有一种方法可以在数据列表中设置选定的值 我想要这样的东西
  • 使用“表单控件”删除输入字段的轮廓

    我有一个输入字段 如下所示 在类名中我将其作为form control
  • 将图像编码为base64有什么效果?

    如果我将图像 jpg 或 png 转换为 base64 那么它会更大 还是具有相同的大小 会大多少呢 是否建议在我的网站上使用 Base64 编码的图像 大约会大 37 非常粗略地说 Base64 编码的二进制数据的最终大小等于原始数据大小
  • 从字体到跨度(大小和颜色)和背面的正则表达式(VB.NET)

    我正在寻找一个正则表达式 可以将我的字体标签 仅具有大小和颜色属性 转换为具有相关内联CSS的span标签 如果有帮助的话 这将在 VB NET 中完成 我还需要一个正则表达式来实现相反的效果 下面详细说明的是我正在寻找的转换示例 font
  • div 中的文本字符有限,添加“阅读更多”链接并在单击链接时显示所有字符

    我有一个 div 里面有文本 使用 PHP 和 MySQL 显示 结构如下 div class description p Here is a lot of text p div 我想在 p 标签内的文本超过 100 个字符时显示 阅读更多
  • TDD/测试 CSS 和 HTML? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法测试 CSS 和 HTML 例如 有时某些通知会受到某些 CSS 更改的影响 我不想每次进行更改时都手动测试所有通知 Tha
  • 如何将 div 与其父级的顶部对齐,但保持其内联块行为?

    See http jsfiddle net b2BpB 1 http jsfiddle net b2BpB 1 问 如何让box1和box3对齐到父div的顶部boxContainer boxContainerContainer backg
  • 如何去掉单词末尾多余的连字符

    我有句话我已经放了 shy 里面 它可以使用连字符 直到我达到足够小的屏幕尺寸 然后它在末尾添加一个额外的连字符 编辑 无法在 jsfiddle 中重现它 因为它似乎对 html 的解释不同 不过我可以展示问题的图片 h3 Flu shy
  • 您可以将现有的 div 复制到模式对话框吗

    我有一个带有多个面板的仪表板来显示不同的信息 我希望能够添加一个按钮来以模式显示面板 我正在使用引导程序 我所能找到的只是已经编写的模态 我想复制作为面板的 div 标签的内容 然后将其显示在模型中 但我不确定如何进行 该面板的 html
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • PHP 共享标头而不使用服务器端脚本?

    到目前为止我总是通过 PHP 解决简单的问题 您有一个包含页眉 菜单 页脚和内容字段的网站 每个页面的页眉 菜单和页脚通常是相同的 在没有 PHP 或任何其他服务器端语言的情况下 如何使页眉 菜单和页脚数据仅存在于一个文件中 例如 您不会有
  • CSS - div 与父 div 底部对齐(内联块)

    我知道这个 html 很草率 有一些不必要的额外 div 但无论如何 我无法理解为什么 ID 为 info box right 的 div 与父 div 的底部对齐 您可以看到 文本 与下面的 jsfiddle 示例的底部 有什么想法可以让
  • 如何:带有 onclick 的 div 位于另一个带有 onclick 的 div 中

    只是一个简单的问题 我遇到了 div 与 onclick javascript 之间的问题 当我点击内部 div 时 它应该只触发它的 onclick javascript 但外部 div 的 javascript 也会被触发 用户如何点击
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航

随机推荐

  • 使用.net 5.0构建时出现MSB3644错误

    安装 net 5 0 dotnet cli 后可以工作 但在创建新项目后dotnet build因错误而失败error MSB3644 The reference assemblies for framework NETFramework
  • MVC3 中的 Html.Partial 或 Html.RenderPartial?

    即使看到以下解释后我也完全困惑 div Html Partial FeaturedProduct div 部分视图可以在布局页面 或者如果使用 MVC 2 3 w ASPX 母版页 以及常规视图内呈现 在某些情况下 您可能希望退出并直接写入
  • 如何将 C++ 代码中定义的单例对象的信号连接到 QML 组件?

    我的主要目标是在 qml 文件中定义 QML 组件时接收来自单例对象的信号 假设我在 C 代码中定义了一个单例对象 如下所示 class MySingleton public QObject Q OBJECT Q PROPERTY QStr
  • Python 中的控制图 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前经常使用 R统计过程控制 http en wikipedia org wiki Statistic
  • 水晶报表隐藏列

    我有一个包含几列的水晶报告 我需要隐藏一列并根据条件删除空白 目前我所做的是 我已将字段拖放到 TextObject 内 并勾选 抑制嵌入式空白字段行 和 Can Grow 它将隐藏详细信息字段并删除空格 但问题是标题仍然可见 隐藏列的条件
  • 如何在 Oracle 中向日期添加前导零?

    如果数字少于两位数 我需要在数字中添加前导零 并将两个这样的数字组合成一个数字 并且它们之间没有空格 我的尝试 select extract year from t Dt to char extract month from t Dt 09
  • Lucene.Net 和孵化状态

    我正在评估各种选项 以使我们的 Net 网站上的搜索功能更加强大 我需要研究一下我们是否购买软件 硬件 例如 Google Search Appliance GSA 还是使用 Lucene Net 等框架来开发解决方案 我们是一家初创公司
  • 阻止 Xcode 从静态库中删除未使用的符号

    我已经构建了一个静态库 我的 iOS 二进制文件正在链接其中 静态库的代码剥离已关闭 等等 我可以看到存档中的符号 通过 nm 因此 我将该库作为框架链接到我的应用程序中 但是 我实际上并没有直接调用该函数 因此 我可以看到我在二进制文件中
  • 如何将所有请求重定向到 laravel 5 中的 public/ 文件夹

    我有一个经典的 Laravel 5 项目结构 我需要将所有请求重定向到public 我处于经典的托管环境中 所以public 是我的文档根目录的子文件夹 我想这可以通过 htaccess 完成 但我仍然需要弄清楚如何完成 有人可以帮忙吗 T
  • Spring 上的嵌套事务

    在使用嵌套 Spring 事务时 我发现了一些奇怪的行为 当在同一个类中 一个方法注释为 Transactional调用另一个方法也注释为 Transactional不使用第二个注释 让我们考虑下面的类 public class Main
  • 如何在 Windows 7 x64 上的 python 3.4 中使用 OpenCV? [复制]

    这个问题在这里已经有答案了 I have windows 7 x64 and python 3 4 我尝试使用cv2 module import numpy as np import cv2 img cv2 imread messi5 jp
  • 如何为maven中属性集下声明的属性设置类路径

    我正在努力从 ant 构建工具转换为 Maven 工具 Ant build xml 已通过以下方式初始化属性
  • parse_dates 如何与 pd.read_sql_query 一起使用

    从 MySQL 数据库检索数据时 Pandas parse date 应该如何工作 的文档熊猫0 23 https pandas pydata org pandas docs stable generated pandas read sql
  • DAX 中的递归

    我不知道这是否可能 但我希望能够创建一个计算列 其中每行都依赖于其上方的行 一个典型的例子是斐波那契数列 https en wikipedia org wiki Fibonacci number 其中序列由递归关系定义F n F n 1 F
  • 电子邮件地址的正则表达式不起作用

    我正在尝试使用以下代码检查某些电子邮件地址是否正确 NSPredicate regexMail NSPredicate predicateWithFormat SELF MATCHES if regexMail evaluateWithOb
  • 存储倒排索引

    我正在从事一个关于信息检索的项目 我使用 Hadoop Python 制作了完整倒排索引 Hadoop 将索引输出为写入文件的 单词 文档列表 对 为了快速访问 我使用上面的文件创建了一个字典 哈希表 我的问题是 如何在磁盘上存储这样一个具
  • 为什么属性“禁用”而不是“启用”

    我总感觉disabledHTML 属性
  • 为什么 ui.item.attr("id") 返回未定义的值?

    我正在处理之间的可排序 li of ul 但当我试图得到ui item attr id 我未定义 但其他变量运行良好 例如 this attr id and ui sender attr id 但我正在搜索的索引 ul 元素从哪里拖动 我的
  • Rails Gem Devise 是否有解决方案允许用户拥有多个电子邮件?

    我正在寻找一种解决方案 允许我的应用程序上的用户拥有超过 1 封电子邮件 这应该与 Facebook LinkedIn 和 Quora 类似 一个帐户可以有多个电子邮件地址 其中 1 个作为主要电子邮件地址 是否有可用的设备交钥匙解决方案
  • 正确的 ARIA 处理面包屑导航

    可以采取哪些措施来提高面包屑菜单的可访问性 类似于 ul class breadcrumbs li a href Home a li li a href news News a li li class unavailable a href