10条提高网站可访问性的建议

news/2024/4/29 0:25:13/文章来源:https://blog.csdn.net/weixin_34060299/article/details/88961854

我们收集了10条提高网站可访问性的建议以保证网站你的网站对任何人都是友好的,包括残疾人。

W3C和万维网的负责人Tim Berners-Lee发表了一篇报道,他说:“网络的力量在于它的普遍性”。 作为通过网站谋生的人,我们有责任确保每个人都能访问他们。 Web可访问性听起来很高端,但它实际上比听起来容易得多。

我们的十个网络可访问性建议旨在确保对所有网站都是通用的。

这不仅有助于正常的用户体验,而且还可以提高网速比较差的时候的浏览体验。 我们已经按照时间顺序对我们的指南进行了排序,以便您清楚地了解在每个过程中需要做的措施。 当你遇到类似的问题的时候,你可以参照我们的指南。

第一件事:

Web Accessibility是什么?

根据W3C,Web Accessibility意味着每个人都可以感知,理解,浏览,交互和对web贡献。 在这方面,Web Accessibility包括影响网络访问的所有条件,包括视觉,听觉,身体,言语,认知和神经障碍。

您将在网络上找到关于此主题的一些内容,如果此主题感兴趣,您应该更深入地介绍Web Accessibility Initiative(WAI)。

考虑到这一点,这里是我们的指导方针:

1、不依赖于颜色

颜色是我们经常用来表达情感和在web上传达信息的强大工具。 但是,我们不应该把我们所有的想法和信息都以色彩的形式传达给用户。

为什么?

例如,众所周知,绿色意味着“正确”,红色意味着“错误”,但是当我们将其用作沟通的唯一手段时会发生什么?

clipboard.png
色盲是最常见的视力缺陷之一。 它影响了全球人口的4.5%(数量超过了IE11用户,您知道的...)。

如果在我们的用户界面中只通过眼色来传达重要的信息,那么我们是在忽略这占人口4.5%的用户。

颜色应该补充错误或确认消息,但它不能是我们使用的唯一工具。 为了确保我们覆盖所有用户,我们应该添加标签或图标,显示表单中填写的信息是对还是错。

clipboard.png

caniuse.com采用了一个非常有趣的解决方案,该解决方案提供了一种替代调色板来显示其兼容性表的内容。

图片描述

在设计时,理想的方案是检查色盲和对比度,所以确保您和您的设计团队拥有正确的工具。 我们强烈推荐用于Sketch的Stark插件,以帮助您设计可访问性!

2、不要禁止缩放

在响应式的时代,我们可能会犯下一些不负责任的错误。

其中之一是 maximum-scale=1.0 的出现,它禁用使用移动设备放大网页的功能。

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">

散光影响欧洲和亚洲30-60%的成年人,但模糊的视力会影响到所有年龄和国籍的人。

缩放的能力不仅仅是WCAG的另一个准则,而是简化这些人日常生活的工具。 所以下一次你正在建立一个响应式的网站,想想视力模糊的这些人。

除了让用户可以在移动设备上自由缩放外,还要注意,您的布局还需要在缩放多达200%的桌面浏览器上可以正常显示。

3、重新认识alt属性

无论您制作网站多久,您可能都会惊讶地知道这些关于著名但又神秘的alt属性的几个功能。

  1. alt属性是每个img标签必须有的,但空的alt属性是完全有效的。 如果一个图像是装饰性的或者跟页面主题思想没有强关联,你可以简单的使用alt =“”。
  2. 屏幕阅读器告诉用户,一个<img>标签是一个图像,所以没有必要说明这是XX的图片,可以直奔主题。
  3. 图像的功能与其代表的意义一样重要:如果您的logo链接到您的网站的主页,那么您的alt文本应该是“Home Page”而不是“Logo”。
  4. 替代文本不仅仅是可访问性。 有时,网速慢的用户会禁用图像,从而实现更快的浏览体验。 每当你写你的alt属性时,都会想到这些用户!

但不是您网站上的所有图片都是img标签,对吧? 你可能有一个SVG或两个在那里...或整个SVG图标系统。

我们如何使所有人都可以访问SVG? 幸运的是,我们可以看出,可扩展矢量图形标准已经覆盖了我们的需求! 为了描述我们的向量,我们使用<title><desc>标签来描述简短和较长的描述。

<symbol id="langIcon"><title>Language Icon</title><desc>Longer description</desc><path d="M0 2C6.47 2 2 6.48 2 12s4.47 10 9.99 0h24v24H0z" />
</symbol>

4、为您的视频添加subtitle和captions

这可能是WCAG实现的最困难的准则之一,而不是因为技术上的困难,而是因为它可能是耗时的。 有几种方法可以完成这项工作:

  1. 我们以YouTube为例。 将视频上传到平台后,您可以启用封闭字幕。 这些会自动生成,并且在某些情况下可能会导致不准确,这取决于语言,背景噪音或扬声器的口音。 然而,这些都很容易实现,并且可以在大多数讲英语的视频上运行良好。
  2. 如果我们正在寻找100%准确的字幕,很难相信YouTube能够提供,所以我们必须自己写字幕或雇用第三方来做到这一点。 YouTube将采用最常见的字幕格式(.srt,.sub和.sbv),并让我们在平台本身上输入字幕。如果我们没有字幕软件,或者我们希望社区帮助我们翻译内容,但是并不希望对社区提供我们的平台账号。clipboard.png
  3. 但也许您不希望使用YouTube作为您的平台。 也许您希望使用服务器上托管的HTML5视频。 那么正好,HTML5包括<track>标签,您可以使用它来轻松地使用WebVTT格式(翻译FTW!)轻松地附加尽可能多的字幕和字幕文件。
<video controls><source src="movie.mp4" type="video/mp4"><track label="English Captions" kind="captions" srclang="eN" src="captions.vtt" default><track label="Subtitulos en español" kind="captions" srclang="es" src="subs.vtt">
</video>

5、语义=可访问性

字体标记,记得吗? 我希望你最好不要记得那些是黑暗的时代。

尽管普遍认为,HTML5并不是本来就带有语义化的。 但是自从第一个HTML页面以来,他们一直在与我们在一起,并从此大大改善。 随着HTML5标准,引入了新的语义标签。

clipboard.png

好的,但语义化标签是不是仅仅为了SEO?

并不是的。 当您通过<p>或<span>选择<h1>标签时,您是在有意识的更改元素的含义,提供层次结构,并构建页面信息的树结构。

屏幕阅读器不会忘记这一点。 事实上,语义是其最有用的武器之一。

请记住,能力越大责任越大,所以请确保为每个元素使用正确的语义标签,从h1到全新的主标签。

6、使用正确的标记

接上前一个点,想和大家讨论一些事情

Time vs. Datetime

使用ISO8601标准来表示日期和时间元素显示许多类型的日期格式,时区和一段时间。

Datetime是一个可选属性,可以帮助表示<time>的内容。 我们来看一些例子:

<time>14:54</time> Hours and minutes
<time>2018-06</time> Year and month
<time>-03:00</time> Time zones
<time>2h 32m</time> Harry Potter 2 Duration
<p>CSSConf Argentina took place on <time datetime=”2016-08-07”>August 7th</time></p>

Del and Ins

web不断变化,但不需要忽视这些更改。 我们可以使用ins和del HTML标签与datetime属性组合来标记编辑。

ins元素代表文档的一个补充:

<ul><li><ins datetime="2017-08-02">Icecream</ins></li><li>Candy</li><li>Pasta</li>
</ul

del元素表示删除的内容:


<ul><li><del datetime="2017-06-05">Rewatch Harry Potter 8</del></li><li><del datetime="2017-06-05">Cry because ____ dies.</del></li><li><del datetime="2017-06-06">Write article</del></li><li>Order room</li>
</ul>

Button vs. a tag

我们什么时候应该分别使用?

让我们来看看:

a标签旨在将一个文件链接到另一个文件或在新选项卡或当前页面中打开链接。 但是,当我们希望触发诸如汉堡包菜单或图像库之类的操作时,这个标签并不理想。 按钮元素是这些情况的正确选择,通常可以通过JavaScript实现。

此外,按钮标签可以容易地与type="button"混淆,但差异依赖于前者能够获取更多内容(文本,图像+文本或仅图像)。

使用button标签时需要考虑两件事情:

首先,如果按钮的内容不够明确(例如,在关闭按钮中以“X”),我们必须添加一个aria-label属性来帮助解释该功能。

<button aria-label="Close">X</button>

第二,如果添加一个href属性(搜索组件或一个Lightbox库),那么我们也可以使用一个标签,并用JavaScript取消链接跳转。 如果未启用JavaScript,则使用href标签的图像库会正常地降级。

7、必要时使用roles

为了告诉屏幕阅读器用户我们的链接触发一个动作,实际上并不是一个普通的a标签,我们必须添加一个值为“button”的roles属性。

但要小心!

编写JavaScript时,您不仅需要点击功能,还可以在用户按下空格键时调用您的功能。 这是很有必要的,因为用于按钮的行为与用于链接的行为不同,用户应该能够触发这些命令之一的操作。

<a href="img/kitten.jpg" role="button" onclick="handleBtnClick(event)" onKeyPress="handleBtnKeyPress(event)">Button
</a>function handleBtnClick(event) {        // Do something
}function handleBtnKeyPress(event) {// Check to see if space or enter were pressedif (event.keyCode === 32 || event.keyCode === 13) {// Prevent the default action to stop scrolling when space is pressedevent.preventDefault();// Do something}
}

在MDN上可以信息。

请记住,除非你改变默认规则,否则通常不需要aria角色,就像上面的例子一样。 HTML语义元素具有已应用的默认角色:<nav>标签的“导航”,<a> 标签的“链接”等。 这意味着只有当我们希望更改这些默认值时,才需要使用角色属性。

8、关于隐藏元素

有几种方法可以用HTML和CSS隐藏东西。 该表将帮助您找到最适合每种情况的替代方案:

MethodAction on ViewAction on Screen ReadersCompatibility
CSS: visibility: hidden;隐藏元素,但其仍然占用空间(几乎像不透明度:0;)不可读支持
CSS: display: none;从视图及其空间中隐藏元素,流中的下一个元素将占据它的位置。不可读支持
HTML5: hidden attribute同display: none;不可读IE11+
Aria-hidden = “true”内容显示在浏览器中,但不通过辅助技术传达给用户不可读IE11+
CSS: .visuallyHidden class从视图隐藏元素,并将其从工作流中删除可读支持

如果你想隐藏元素的视图,但仍然让屏幕读者知道他们,那么最后一个选项是最好的。

这在表单标签或跳到内容链接中非常有用。 visualHidden类是应该最需要被您放进收藏夹的CSS代码之一,以便您在每个项目中使用。 是的,你可以改变名字,如果你喜欢(我的建议是.pottersCloak,等等)


.visually-hidden { position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important;overflow: hidden;
}
body:hover .visually-hidden a, body:hover .visually-hidden input, body:hover .visually-hidden button { display: none !important; }

9、遵循网络无障碍标准

Web可访问性增强很困难,在这里的标准和指南会有所帮助。

本文中以前的所有内容都在此引用:<button>如何工作? 我们什么时候应用它? display:none 和“hidden” 有什么区别?

起初它可能是沉闷的,但W3C标准和WCAG指南不仅可靠,而且还具有教育意义。 继续前进,迷失在他们提供的无限信息中。 我向你保证,你会发现你永远不知道的代码和做法!

10、审计和审查

一旦应用了所有这些知识,现在是测试它的时候了。 以下是审核网站可访问性的最佳工具列表:

  • ChromeVox:适用于Mac和Windows用户,此Chrome扩展程序是可用于测试网站的屏幕阅读器。
  • Accessibility Developer Tools for Chrome:此浏览器的另一个很好的扩展功能,可在您的日常开发人员工具中添加辅助功能审核选项。
  • Color Filter:使用此在线工具测试您的网站不同类型的色盲。
  • W3C Validator: 这个官方的W3C工具将让您知道您的HTML标记是否遵循网络无障碍规则!
  • A11Y Compliance Platform: 互联网无障碍局(BOIA)提供了一份分级报告,概述当您的网站在考虑WCAG A / AA检查点时的评级。
  • WAVE: WebAIM制作的Web访问评估工具。

Aerolab的Web可访问性的经验

我们尝试着不断地测试我们的工作。 我们的下一个产品应该始终之前更好。 是的,我们有时会犯错,但是我们努力不断地改进和适应,更不要说每个挑战都会学到一些东西。

我们希望我们的产品能够为用户提供最好的体验,这就是为什么我们逐渐将可访问性标准纳入我们的工作流程。

我们还有一条漫长的道路,还有一些重要的改进空间,但是我们很高兴选择这条路。

最后的话

网站可访问性并不总是易于实现,但如果您将其作为日常工作流程的一部分(而不是最后一分钟的清单),则实施和测试将随着时间的推移变得更加容易。

当有疑问时,不要害怕询问其他开发商或做一些研究。 我最喜欢的信息来源是A11y项目,A11y Wins,HTML5 Doctor和MDN。

关注我的公众号,更多优质文章定时推送

clipboard.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_819888.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 XAMPP 中设置多个网站

收藏(6)xampp 是一个非常方便的本地 apache php mysql 的调试环境&#xff0c;在本地安装测试 WordPress 等各种博客、论坛程序非常方便。今天我们来给大家介绍一下&#xff0c;如何使用 XAMPP 在本地进行安装多个网站。 一般情况下&#xff0c;我们只需要网站程序放到 xampp…

web开发所用技术网站链接汇总

数据展示&#xff1a; 数据图表 echarts https://echarts.apache.org/zh/index.html DataV http://datav.jiaminghi.com/demo/ 强大的前端框架&#xff1a; element-plus https://element-plus.gitee.io/#/zh-CN element https://element.eleme.cn/#/zh-CN/component/icon…

Python爬虫——爬取网站的图片

爬虫这东西最早出现在我大学计算机网络的课程上面&#xff0c;我们当时的老师人很好&#xff0c;期末不笔试&#xff0c;他说这东西笔试没什么用&#xff0c;对于一个年纪比较大的老师来讲&#xff0c;能提出这种方式&#xff0c;实在难得。当时在考虑做一个与网络有关的东西好…

谈谈建站心得(转载)[精华]

从事互联网行业已经7年了&#xff0c;有一些感悟在脑中盘旋。经历了很多教训以及狂热&#xff0c;工作与生活给了我一些教训与心得&#xff0c;遇到一事情时&#xff0c;经常有一种似曾相识的感觉&#xff0c;但真要说出所以然&#xff0c;似无法将他们高度概括。七年了&#x…

网站smtp服务器,SMTP服务器

认识SMTP服务器首先要知道SMTP&#xff0c;SMTP是“SimpleMailTransferProtocol”的缩写&#xff0c;即简单电子邮件传输协议&#xff0c;而SMTP服务器就是遵循SMTP协议发送电子邮件的服务器&#xff0c;用来发送或中转用户发出的电子邮件。SMTP协议是一个相对简单、高效的文本…

如何用自己电脑做服务器,绑定域名建一个个人网站

如何用自己电脑做服务器&#xff0c;绑定域名建一个个人网站 一、总结 一句话总结&#xff1a;搜索phpstudy 只有公网ip没有域名如何访问网站 二、如何用自己电脑做服务器&#xff0c;绑定域名建一个个人网站 使用自己的电脑&#xff0c;下载一个tomcat服务器&#xff0c;并将域…

YSlow-开源firefox插件,用来进行网站优化,有明确的提示为什么这么做

1、yslow介绍 什么是YSlow&#xff1f; YSlow是Yahoo发布的一款基于FireFox的插件。   YSlow有什么用&#xff1f;   YSlow可以对网站的页面进行分析&#xff0c;并告诉你为了提高网站性能&#xff0c;如何基于某些规则而进行优化。   YSlow可以分析任何网站&#xff0c;…

征婚网站php免费源码,php交友网站系统正式版php征婚网站模板

后台管理文件夹&#xff1a;http://jyadmin.wrzc.net/&#xff0c;管理员帐号:admin&#xff0c;密码:admin运行本程序&#xff0c;需要你的主机或者虚拟主机配置有phpmysqlzend optimizer的系统运行环境。本机调试可以自己配置系统运行环境&#xff0c;配置教程请下载PHP环境一…

windows 2008下IIS7发布网站失败

在WINDOWS2008下&#xff0c;用IIS7发布好网站后&#xff0c;却浏览不了&#xff0c;提示“对不起&#xff0c;您访问的空间不存在” 在已绑定IP 地址的情况下&#xff0c;同时绑定了一个域名abc.com。每次访问时&#xff0c;IE都是在外网寻找abc.com该域名&#xff0c;然后就显…

使用Github的 WebHooks 进行网站自动化部署

原理 利用Github在仓库进行操作时&#xff0c;可以通过配置webhook向服务器发送请求&#xff0c;在服务器端接到请求后&#xff0c;使用脚本来自动进行git pull操作。 图片来源&#xff1a;Github的webhook触发vps上的脚本 构建 Webhook 服务 通过执行 npm i -g github-webhook…

nginx详解反向代理、负载均衡、LNMP架构上线动态网站(week4_day1_part1)-技术流ken

nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx&#xff0c;它的发音为“engine X”&#xff0c;是一个高性能的HTTP和反向代理服务器&#xff0c;同时也是一个IMAP/POP3/SMTP 代理服务器。Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开…

java多方式登陆_Java 爬虫遇到需要登录的网站,该怎么办?

这是 Java 网络爬虫系列博文的第二篇&#xff0c;在上一篇Java 网络爬虫&#xff0c;就是这么的简单中&#xff0c;我们简单的学习了一下如何利用 Java 进行网络爬虫。在这一篇中我们将简单的聊一聊在网络爬虫时&#xff0c;遇到需要登录的网站&#xff0c;我们该怎么办&#x…

200佳优秀的国外创意设计作品网站推荐(系列十七)

这个系列将向大家200佳非常有用的创意设计作品网站&#xff0c;包括网页设计、名片设计、LOGO设计和包装设计等等&#xff0c;设计师们可通过这些网站收集的优秀设计作品来获取灵感&#xff0c;进而设计出更具有创意的作品&#xff0c;设计师们也可以把自己得意的作品提交到这些…

网站App平台注册用户分析(从MySQL中导入数据)

导入MySQL数据 运行MySQL&#xff0c;输入密码登录进去&#xff0c;然后使用CREATE DATABASE命令创建数据库。 CREATE DATABASE test;&#xff08;该命令创建了一个空的数据库test&#xff09; 2.导入数据到刚刚创建的空数据库中。 source D:/user.sql(此处source后面的文件路…

python爬虫爬取某网站全站图片案列(源码全给可白漂,仅供学习使用,切勿用作非法用途)

爬取后保存的图片效果图 步骤入下&#xff08;三步&#xff09;&#xff1a; 先去要爬取的目标网站&#xff08;https://pixabay.com/&#xff09;去注册一个账号。 2.注册后登录&#xff0c;浏览器右键鼠标&#xff0c;打开检查&#xff0c;找到登录后的cookies值。 3.运行源…

9月第2周国内新闻网站:中国网覆盖数半年翻4番

根据国际统计机构Alexa公布的最新数据显示&#xff0c;9月第2周&#xff08;2013-09-09至2013-09-15&#xff09;新闻类网站/频道排行首位是QQ新闻&#xff0c;其用户覆盖数为13200&#xff0c;第二位是覆盖数为9920的新浪新闻&#xff0c;第三位是9287的网易新闻。下面是具体情…

25个最新的免费的创意和美丽的CSS网站模板

对于HTML或超文本标记语言的理解&#xff0c;是Internet Explorer或Mozilla Firefox网页浏览器所使用的编码语言。所有的网页设计使用这种语言。HTML是网页设计当中一些简单的标记元素&#xff0c;但如果你想要展现出更好看的东西&#xff0c;那么你应该选择CSS。可以说&#x…

什么是闭包(Groovy) - flyleave - ITeye技术网站

什么是闭包(Groovy) - flyleave - ITeye技术网站什么是闭包(Groovy) 博客分类&#xff1a;Grails & GroovyGroovyJavaCCC# Groovy的闭包就像一个代码段或者说方法指针。它是一段被定义并在稍后的时点上运行的代码。Simple ExampleJava代码 def clos { println "hell…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样&#xff0c;你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

大型网站技术架构(一)大型网站架构演化

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书&#xff0c;就应该有所收获&#xff0c;有所总结&#xff0c;最近把《大型网站技术架构》一书给看完了&#xff0c;给人的印象实在深刻&#xff0c;再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…