从 ARIA 开始:增强网站的可访问性

从 aria 开始:增强网站的可访问性

仅使用标准 HTML,现代网络应用程序可能会将有辅助功能需求的用户拒之门外。

HTML 是主要的在线标记语言,近 83% 的现有网站都在使用。尽管自创建以来 25 年来发生了一些变化,但即使是较新的迭代,例如 HTML5 和 AMP,也有很多不足之处,尤其是在可访问性方面。这就是 ARIA 的用武之地。在本教程中,我将讨论 ARIA 是什么、为什么它对您的网站有用,以及将其添加到您的网站的几种方法。

p>

什么是 ARIA?

ARIA,也称为 WAI-ARIA,代表 Web Accessibility Initiative 的可访问富互联网应用程序。完整的规格文档可以在这里找到。请注意,完整的规范文档相当密集,因此最好先阅读这篇文章并查看下面链接的其他一些资源。

ARIA 的主要目的是允许 HTML 中的高级语义结构作为 HTML 语法繁重性质的对应物。换句话说,HTML 告诉浏览器事物的走向,而 ARIA 告诉浏览器它们如何交互。

谁负责 ARIA?

ARIA 是由 W3C(万维网联盟)主办的项目。该项目遵循与其他计划相同的更新和编辑标准。他们还提供了一个 GitHub 存储库,其中包含多个测试,您可以运行这些测试来确保您的页面正常运行。

我当前的网站标记有什么问题?

大多数具有结构化、深思熟虑设计的网站在自适应技术(即屏幕阅读器)方面都做得足够好。然而,让用户能够弄清楚如何使用您的网站和让它易于使用是不同的事情。低视力用户占人口的近 2%,对于他们来说,这种差异可能意味着在尝试执行基本在线任务时节省大量时间和侦查工作。这可能是为游客提供壮观的体验和为他们提供迷宫般的导航之间的区别。

除了传统的可访问性之外,ARIA 正在寻找一种技术,为标准交互提供新的视角。越来越多的语音系统、聚合浏览(例如汽车嵌入式计算机)和其他创新正在利用 ARIA,利用其增强的语义功能。

好的,但是它有什么作用呢?

总体而言,ARIA 以语义上有意义的方式将元素连接在一起。它为用户提供了有关交互的附加含义。以下是一些如何使用它的实际示例:

  • 关联非嵌套元素:使用纯 HTML,用户的浏览器只能看到基于父/子关系的关系。然而,在某些情况下,我们可能需要一系列与 HTML 层次结构中的内容平行的按钮。借助 ARIA,我们可以定义每个按钮的控制器类型,以及它在文档其他位置控制什么元素。
  • 声明交互元素:虽然 HTML 提供了一些用于交互的元素,但 ARIA 定义了更多元素,从而可以更精细地描述页面每个元素的功能。此外,这些可以分配给 HTML 标记,这些标记通常不用于此类目的,但在您的特定情况下可能有意义。例如,您可以将
  • 标记用于一系列您不希望由表单元素组成的复选框。
  • 实时区域更新通知:ARIA 提供的另一个功能是“实时”内容区域的定义。当以这种方式定义内容区域时,只要该元素内的内容发生更改,ARIA 就会通知用户。当确保弱视用户知道您的页面上发生了某些变化时,这非常有用。

    将 ARIA 添加到您的网页

    我们已经讨论了 ARIA 的功能,现在让我们看一些最常见的示例。我们将在每个部分开始时简要说明我们希望实现的目标,然后是如何实现该目标的代码示例。

    使用 ARIA 创建替代标签

    说到替代标签,大多数开发人员都熟悉 alt 属性,该属性常用于 从 ARIA 开始:增强网站的可访问性 标签。该标签有一个重要的用途:描述它所附加的图像以提高可访问性(或作为常见的 SEO 策略,具体取决于您的观点)。

    ARIA 提供了一个名为 aria-label 的类似属性,该属性可以附加到任何 HTML 元素,不仅提高了图像的可访问性,还提高了网站部分、表单控件等的可访问性。下面是一个示例:

    从 ARIA 开始:增强网站的可访问性从 ARIA 开始:增强网站的可访问性
    A text description of the image, visible on the screen

    定义 ARIA 特定的 UI 元素

    HTML 已经提供了许多用于创建网页的元素,但它们的主要焦点通常是一般性地定义一个区域并向用户呈现网站的结构。 ARIA 提供了几十个附加元素,这些元素更注重元素的使用方式,例如计时器、工具提示或进度栏。

    此处使用的示例是您可能会在表单上找到的工具提示。创建模式的方法有很多种,从触发一些 JavaScript 的链接到悬停在上面时创建模式的元素。这里缺少的一点是,尽管它可能对视力正常的用户有效,但弱视用户可能甚至不知道工具提示的存在。

    您可以使用 ARIA 定义工具提示,如下所示:

    从 ARIA 开始:增强网站的可访问性

    可用的 ARIA 定义

    为了扩展这些 UI 元素,这里简要列出了一些可以定义的最有趣的“角色”。完整的列表可在参考的规范文档中找到。

  • 搜索
  • banner
  • 演示
  • 工具栏
  • status
  • menuitem
  • log
  • dialog
  • link

    在父/子结构之外建立关系

    现在让我们扩展一下我们之前讨论过的一点:HTML 的强制结构。虽然父母/孩子的关系有利于决定事情应该如何排序,但当需要更有意义的联系时,它就显得不足了。兄弟元素就是一个例子。一些库添加了遍历兄弟元素或其他形式的元素关系的功能,但这通常发生在 JavaScript 或标记之外的其他语言中。

    ARIA 使我们能够在标记中直接定义这些关系,从而更轻松地对菜单项进行分组、创建非标准导航以及将控件附加到通常难以完成的元素区域。

    让我们看一下如何使用它来将一些控件连接到内容区域:

    从 ARIA 开始:增强网站的可访问性
    Your tutorial's content

    此代码段表示 nextbutton.jpg 图像是一个按钮,它是下面教程 div 的控件。

    在 ARIA 中创建“实时”元素

    我们将在此处介绍的 ARIA 的最后一个功能是 aria-live 属性。虽然 ARIA 的大多数其他功能都处理语义连接,但这一功能直接涉及向用户提供内容或元素更改通知的想法。

    对于许多视力不佳的人来说,可能无法立即清楚他们与您网站的交互是否导致了页面其他位置的变化。对于细微的变化尤其如此,例如可能会发生变化但保持相对相同长度的小文本摘要。通过使用此属性,每次定义元素内的内容发生更改时,您的用户都会收到通知。

    我们可以将此属性添加到元素中,如下所示:

    Content that updates, ie. guided directions

    让网络成为所有用户更美好的地方

    略多于 2% 的美国人口带有某种形式的低视力标签,提高网站的可访问性可以显着提高网站的覆盖范围。对于那些网站覆盖多个国家的公司来说,这个数字会更大。除了可访问性之外,ARIA 还为非浏览器界面提供了一种利用您的网站的方法,许多基于语音的设备已经提供了支持。

    实施 ARIA 可以帮助您的用户,也可以帮助您的流量,所以开始吧!

    我是否遗漏了任何细节,或者您还有其他问题吗?请在下面发表评论!

    如果您想深入了解完整的 ARIA 文档或尝试官方测试工具,请查看以下链接:

  • ARIA 创作实践
  • 完整的 ARIA 规范文档
  • 测试工具示例报告

    以上就是从 ARIA 开始:增强网站的可访问性的详细内容,更多请关注创想鸟其它相关文章!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
    发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1552157.html

  • (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2025年12月21日 22:20:19
    下一篇 2025年12月15日 07:21:17

    相关推荐

    • 我们如何重置HTML表单中的所有输入字段?

      在本文中,我们将讨论如何重置 html 表单中的所有输入字段。在这里,我们使用重置按钮来清除 html 表单中的输入字段。 在 HTML 表单中,我们使用 标记来获取用户输入。要清除 HTML 表单中的所有输入,请使用带有 type 属性的 标记进行重置。 语法 以下是重置按钮的语法。 示例 1 以…

      2025年12月21日
      000
    • 如何将最大值添加到HTML中?

      使用 max 属性在 HTML 中添加最大值。您可以尝试运行以下代码来实现max属性 –  示例 Rank: 以上就是如何将最大值添加到HTML中?的详细内容,更多请关注创想鸟其它相关文章!

      2025年12月21日
      000
    • 是否可以为HTML5音频标签添加样式?

      HTML 5音频标签可以进行样式化。通过使用带有“controls”属性的音频标签,使用默认的浏览器播放器。您可以通过不使用浏览器控件来自定义。  通过移除controls 属性,您可以隐藏内置的浏览器用户界面− Play Pause Vol+ Vol- 您还可以为每个元素添加CSS类,并相应地进行…

      2025年12月21日
      000
    • 在HTML中使用矩阵创建JS径向渐变

      JSRadial 矩阵渐变是通过以下方式创建的。您可以尝试运行以下方法来使用矩阵创建 JS Radial 渐变 – var canvas1 = document.getElementById(“canvas”); //canvas1 variable to identify given …

      2025年12月21日
      000
    • 将键盘文本包含在HTML中

      使用 HTML 中的 标记来显示键盘文本。 HTML 标签定义键盘输入。这是一个短语标签。 示例 您可以尝试运行以下代码来实现 标签 – HTML kbd Tag Open previously closed tab using Ctrl+ Shift+ T 以上就是将键盘文本包含在HTML中的详细…

      2025年12月21日
      000
    • 如何在HTML中添加列表项?

      HTML 标签用于添加有序列表项、无序列表项、目录列表和菜单列表。该标签还支持以下附加属性 – 属性 值 说明 类型 立即学习“前端免费学习笔记(深入)”; A a I i 1 圆盘方圆 已弃用– 指定列表的类型 值 数字 > 指定列表项的值 tbody> 示例 …

      2025年12月21日
      000
    • 在HTML中创建一个空白间隔

      HTML 标记指定空格。它支持以下附加属性 – 属性 值 说明 类型 立即学习“前端免费学习笔记(深入)”; 垂直 水平 块 type 属性用于指定间隔符是水平的、垂直的还是块状的。 大小 number 指定间隔符高或宽的像素数 仅当间隔符类型时才使用此属性是“水平”或“垂直”。如果间隔…

      2025年12月21日
      000
    • 在JavaScript中,”oninvalid”事件的用途是什么?

      如果中添加的字段值无效,则会触发oninvalid事件。如果用户在提交前忘记填写表单,请添加一条消息。 示例 您可以尝试运行以下代码来了解如何实现oninvalid  JavaScript 中的事件。 function resetFunct() { alert(“The form was reset…

      2025年12月21日
      000
    • 如何在JavaScript中搜索链接的目标属性的值?

      要在JavaScript中搜索链接的目标属性值,请使用target属性。您可以尝试运行以下代码以获取目标属性的值。 示例 Qries 音疯 音疯是昆仑万维推出的一个AI音乐创作平台,每日可以免费生成6首歌曲。 178 查看详情 var x = document.getElementById(“qri…

      2025年12月21日 好文分享
      000
    • 如何将元素锚定到响应式图像的正确位置?

      近来,将锚点放置在响应式图像上的正确位置变得更加重要。因为我们在日常生活中会遇到很多广告,如果锚点没有正确放置在响应式图像下方,将会使用户更难以理解该网页。 我们使用 CSS 和 HTML 将元素锚定到响应图像上的正确位置。在我们深入本文以更好地理解之前,让我们快速浏览一下 HTML 中的锚点和图像…

      2025年12月21日 好文分享
      000
    • 当HTML中的原始元素无法显示时,如何添加替代文本?

      使用alt属性为图像添加替代文本。如果用户无法查看它(加载问题),则将看到相同的文本。此外,该属性还可以帮助屏幕阅读器向用户读取内容。 示例 您可以尝试运行以下代码来在 HTML 中实现 alt 属性 – HTML alt attribute Simple Image Insert 以上…

      2025年12月21日
      000
    • 在HTML5中如何使用全局翻译属性?

      translate属性用于设置元素内容是否需要翻译。 以下是属性列表: 属性值 描述 Yes 立即学习“前端免费学习笔记(深入)”; 需要翻译内容。 No 不需要翻译内容。 如果您不想翻译特定单词,请将其添加到translate属性中。 This won’t get translated…

      2025年12月21日
      000
    • 如何在HTML中指定表单提交时要发送表单数据的位置?

      使用操作属性添加文件,点击提交按钮后您想要到达的位置。您还可以添加电子邮件以将数据发送到该电子邮件 ID。 示例 您可以尝试运行以下代码来设置当表单数据发送到何处时表单以 HTML 形式提交 – Student Contact Form Student Name: Student Sub…

      2025年12月21日
      000
    • 如何使用GoJS HTML5 Canvas库绘制图表和图形?

      gojs 是一个 javascript 库,您可以使用它来实现交互式图表。本页将向您展示使用 gojs 的要点。如果您想添加图表和图表,请使用这个开源库。 GoJS 具有模型视图架构,其中模型保存 JavaScript 对象数组,这些对象描述节点和链接。为了使用实际的 Node 和 Link 对象可…

      2025年12月21日
      000
    • 如何在JavaScript/HTML中使用套接字?

      To use sockets, consider the WebSocket interface in JavaScript. This interface enables web applications to maintain bidirectional communications with …

      2025年12月21日
      000
    • iframe中width什么意思

      iframe中width是指定框架的宽度的意思,可以控制iframe框架在页面中的宽度展示。width可以接受的值:1、固定像素值,width=”300px”,框架宽度将始终保持不变,无论浏览器窗口的大小如何变化;2、百分比值,width=”50%”,…

      2025年12月21日
      000
    • 探索 WordPress 中的条件标签:从 14 到 26 – 综合指南

      在本系列中,我们将介绍 WordPress 的基本功能之一:条件标签。在第三部分中,我们将继续介绍和回顾条件标签。如果您还没有看过前面的部分,请务必查看一下。 我们开始吧! 14。检查我们是否在首页:is_front_page() 在WordPress中,“首页”可以设置为静态WordPress页面…

      2025年12月21日
      000
    • 将HTML5画布缩放到鼠标光标

      画布始终从当前原点缩放。默认原点为 [0,0]。如果你想从另一个点进行缩放,你可以先执行 ctx.translate(desiredX,desiredY); 。这会将画布的原点重置为 [desiredX,desiredY]。 translate() 方法会重新映射画布上的 (0,0) 位置。 sca…

      2025年12月21日
      000
    • 使用CSS将flex项目对齐到容器的中心

      使用值为 center 的 justify-content 属性将弹性项目对齐到中心。 示例 您可以尝试运行以下代码来实现中心值 现场演示 .mycontainer { display: flex; background-color: red; justify-content: center; } …

      2025年12月21日
      000
    • 用JavaScript如何找到网页浏览器的名称和版本?

      要查找网络浏览器的名称和版本,您需要尝试以下代码 – 示例 Browser Detection Example <!– var userAgent = navigator.userAgent; var opera = (userAgent.indexOf('Opera&…

      2025年12月21日
      000

    发表回复

    登录后才能评论
    关注微信