余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

Web前端:创建符合Web可访问性标准的HTML布局

xiyangw 2022-11-25 12:11 23 浏览 0 评论

  “Web 可访问性”一词定义了一组开发人员需要遵循的准则,以使Web应用程序的交互更加方便。任何网站的内容、UI/UX 设计和布局都应该是可访问的。在这篇文章中,我们研究了前端团队可以做些什么来轻松地将他们的网站提升到适合Web可访问性的标准。

  保持标记清洁

  无论你使用什么标记,都要正确整齐地构建它,避免跳过关卡。例如,在HTML中使用 <button> 元素而不是 <span> 或 <div>。使用 <nav> 进行导航,使用 <button> 进行页面操作。

  将 <strong> 或 <em> 元素与 <bold> 或 <i> 区分开来。前两者用于对内容的语义强调,后两者用于视觉强调。

  l 确保横幅中的公司徽标链接回网站的主页。

  l 使用 <lang> 属性告诉浏览器在网站上使用哪种语言。

  l 如果你想在视觉上和屏幕阅读器中隐藏内容,请使用 hidden 属性。

  l 为长页面添加锚链接(跳转链接),以便用户可以跳过他们不需要的内容并继续相关部分。

  注意页面语义

  用户和机器(屏幕阅读器、盲文显示器)都应该能够识别页面结构。通过使用页面上的分段(<header>、<footer>、<article>、<nav>)和标题元素来创建语义布局。这有助于定义网页的清晰层次轮廓,并区分主要(主要:<h1>、<h2>、<article>)和次要(不太重要:<h3> - <h6>、<footer>)内容。

  当你在页面中使用标题时,不要使用格式(字体样式和大小)伪造标题属性 (<h>) 的实际标记,因为这不允许辅助技术识别这些是标题。

  在适当的情况下在网页中使用 ARIA 地标。ARIA(可访问的富 Internet 应用程序)是一个综合技术规范,用于将可访问性信息添加到本地不可访问的元素(特别是使用 JavaScript、AJAX 和 DHTML 开发的元素)。使用 ARIA 地标,开发人员可以扩展 HTML 功能并将适当的语义(即属性)应用到 UI 和内容元素,以便辅助技术理解这些。

  这是一个 HTML 语义元素(<header>、<nav>、<main>、<footer>)如何与 ARIA 角色属性(“banner”、“navigation”、“main”、“contentinfo”)组合的示例使用户更容易使用屏幕阅读器进行网站导航。

  尽管大多数 ARIA 功能最近都是在 HTML5 中实现的(你绝对应该喜欢这些!),但并非所有屏幕阅读器和浏览器(例如 IE)都足够复杂,仅依赖于 HTML 语义。适当使用 ARIA 的一些示例是分配角色来描述某些类型的小部件(“菜单”、“树项”、“滑块”),定义描述拖放源和放置目标的拖放属性,以及添加警报以通知有关动态页面更改的辅助技术。

  

  支持标签导航

  使元素的 Tab 顺序(也称为文档对象模型或 DOM 顺序)与视觉顺序一致。从 Tab 顺序中删除不必要的元素,以免混淆使用 Tab 或辅助设备导航的用户。

  使导航元素的焦点可见。你可以为此使用第三方插件或 <outline> 属性,该属性为在选项卡式导航(或其替代方案)时具有焦点的页面元素和链接提供视觉反馈。

  使用 <tabindex> 属性可以使链接、按钮和表单字段等元素具有焦点,并且可以通过 Enter 键和/或空格键进行选择。即使具有 <tabindex> 属性和 0 整数值的不可聚焦元素也可以成为可聚焦元素,例如<h3 tabindex="0">一个可聚焦的标题</h3>

  如果页面上有弹出窗口,导航优先级应该允许首先关闭它们。完成此操作后,理想情况下,焦点应该跳回到用户被打开的模式窗口打断的网页元素。为此,请将最后一个焦点元素存储在变量中。

  为图像添加替代文本

  屏幕阅读器几乎可以访问页面上的所有内容——图形信息除外。所以不要忘记为图像和其他图形添加替代文本(<img> alt 属性)。这不仅可以帮助使用辅助技术“阅读”屏幕的人,还可以帮助互联网连接不佳的用户。你的网站也将使用图像替代文本进行 SEO 优化。在Web前端培训中,不仅有理论知识的课程,也会有实操项目的训练,让你深入浅出地学习前端技术,弥补项目经验的空缺。

  图像替代文本应该精确、简洁,并反映添加图像的主要目的。根据上下文,相同的图像可能有不同的替代文本,例如 如果将公司徽标放在标题中并将用户返回到主页,则其准确的替代文本可能是`<img alt="Company X logo - Home page.">`

  l 在替代文本中,避免使用多余的“图像”或“图像”——无论哪种方式,辅助技术都会警告用户有图像。

  l 以句点结束替代文本。这将使屏幕阅读器在 alt 文本中的最后一个单词之后暂停一点,从而为用户提供更愉快的体验。

  l 具有多个可点击区域的图像(例如图像地图)的替代文本应提供这些链接的完整描述。此外,每个可点击区域都应该有相应的替代文本来描述其目的或目的地。

  l 避免使用文字图片;如果你不能没有它们,替代文本应该包含与图像中相同的单词。

  l 如果你有多个图像传达一条信息,则组中第一张图像的替代文本应包含整个组的信息。

  l 要熟悉替代文本的普遍接受标准,你可以随时查看此替代文本决策树。

  虽然必须为所有对理解内容很重要的图像添加替代文本,但对于与内容没有直接关系的菜单图标或装饰性图像(如封面)则无需这样做。对于这样的图像,只需使用一个空的 <img alt> 属性。

  最后技巧

  尽管这些提示肯定会增加你网站的包容性,但最好不要将 Web可访问性视为一套正式的指南。首先,它是一项全面的策略,可以关心所有用户并使你的网站内容可供他们使用——无论他们使用何种浏览器、互联网提供商或辅助设备。


相关推荐

前后端分离 Vue + NodeJS(Koa) + MongoDB实践

作者:前端藏经阁转发链接:https://www.yuque.com/xwifrr/gr8qaw/vr51p4写在前面闲来无事,试了一下Koa,第一次搞感觉还不错,这个项目比较基础但还是比较完整了,...

MongoDB 集群如何工作?

一、什么是“MongoDB”?“MongoDB”是一个开源文档数据库,也是领先的“NoSQL”数据库,分别用“C++”“编程语言”编写,使用带有“Schema”的各种类似JSON的文档,是也分别被认为...

三部搭建mongo,和mongo UI界面

三步搭建mongo,和mongoUI界面安装首先你需要先有一个docker的环境检查你的到docker版本docker--versionDockerversion18.03.1-ce,b...

Mongodb 高可用落地方案

此落地方案,用于实现高可用。复制集这里部署相关的复制集,用于实现MongoDB的高可用。介绍MongoDB复制集用于提供相关的数据副本,当发生硬件或者服务中断的时候,将会从副本中恢复数据,并进行自动...

一次线上事故,我顿悟了MongoDB的精髓

大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,继续学习MongoDB分片的理论与实践,...

IDEA中安装MongoDB插件-再也无要nosql manager for mongodb

大家都知道MongoDB数据库作为典型的非关系型数据库被广泛使用,但基于MongoDB的可视化管理工具-nosqlmanagerformongodb也被用的较多,但此软件收费,所以国内的破解一般...

数据库监控软件Lepus安装部署详解

Lepus安装部署一、软件介绍Lepus是一套开源的数据库监控平台,目前已经支持MySQL、Oracle、SQLServer、MongoDB、Redis等数据库的基本监控和告警(MySQL已经支持复...

YAPI:从0搭建API文档管理工具

背景最近在找一款API文档管理工具,之前有用过Swagger、APIManager、Confluence,现在用的还是Confluence。我个人一直不喜欢用Swagger,感觉“代码即文档”,让代...

Mac安装使用MongoDB

下载MongoDB包:https://www.mongodb.com/download-center解压mongodb包手动解压到/usr/local/mongodb文件夹配置Mac环境变量打开环境...

保证数据安全,不可不知道的MongoDB备份与恢复

大家在项目中如果使用MongoDB作为NOsql数据库进行存储,那一定涉及到数据的备份与恢复,下面给大家介绍下:MongoDB数据备份方法在MongoDB中我们使用mongodump命令来备...

MongoDB数据备份、还原脚本和定时任务脚本

备注:mongodump和mongorestore命令需要在MongoDB的安装目录bin下备份脚本备份格式/usr/local/mongodb/bin/mongodump -h ...

等保2.0测评:mongoDB数据库

一、MongoDB介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产...

MongoDB入门实操《一》

什么是MongoDBMongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之...

Python安装PyMongo的方法详细介绍

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。前言本文主要给大家介绍的是关于安装PyMongo的...

第四篇:linux系统中mongodb的配置

建议使用普通用户进行以下操作。1、切换到普通用户odysee。2、准备mongodb安装包,自行去官网下载。3、解压安装包并重命名为mongodb4.04、配置mongodbcdmongod...

取消回复欢迎 发表评论: