互联网面向所有人:使你的网站更易访问的6条tips

news/2024/5/20 23:53:53/文章来源:https://blog.csdn.net/duxinshuxiaobian/article/details/108373356


全文共3099字,预计学习时长8分钟

图源:unsplash

 

《美国残疾人法案》(ADA)的周年纪念日刚过去不久,本次纪念日将无障碍主题带入了讨论的最前沿,尤其是在科技相关的话题方面。似乎很多开发人员都将Web可访问性标准放在一边,只作为锦上添花的补充部分,而不是从一开始就提出严格的要求。

 

然而,在美国,有四分之一的成年人都被认定为有残疾,因此这种疏忽可能意味着,如果你不采取某些措施来确保所有人都能访问该网站,那么很多人可能都会在使用你的产品时遇到困难。除了可能造成潜在客户流失外、导致诉讼和不良新闻之外,以人为本、心怀善意也同样重要。

 

我们汇总了一些简单的步骤,可以通过践行它们来使网站更易于访问,但是请注意,这绝不是一份详尽的清单。由于存在多种类型的残疾,例如视觉、听力、身体和认知障碍,因此还需要解决多种类型的可访问性问题。

 

《Web内容可访问性指南》(WCAG)概述了网站可访问性的4条原则:

 

·        可感知的:用户必须能够使用一种或多种感官以某种方式感知它。

·        可操作的:用户必须能够控制UI元素(例如,按钮必须以某种方式可单击——鼠标、键盘、语音命令等)。

·        可以理解的:内容必须对其用户易于理解。

·        强大的:内容必须使用公认的Web标准进行开发,并且现在和将来都将在不同的浏览器上运行。

 

1.对所有图像使用替代文字

 

对于视障人士来说,替代文字或“替代文本”对于使用屏幕阅读器查看网站很有帮助。替代文本用于描述图像,最好是深度描述,以便让用户清楚了解他们无法可视化的内容。例如:

 

<imgsrc="https://cdn2-www.dogtime.com/assets/uploads/gallery/30-impossibly-cute-puppies/impossibly-cute-puppy-2.jpg"alt="cute wrinkly bulldog puppy standing in the water and lifting his paw,seemingly questioning his life choices"/>

另外,替代文字还可以代替因某种原因而无法加载的图片,从而优化网站的搜索引擎。

 

2.使用语义HTML和ARIA角色

 

图源:unsplash

在编写HTML时,不要对页面的所有部分使用<div>或<span>,而是尽可能使用可用的语义HTML元素,例如<header>、<main>、<p>、<nav>、<footer>、<button>等。这些元素提供了它们自己的功能,对屏幕阅读器很有帮助,因为它们从DOM或HTML结构收集所有信息。

 

在编写语义正确的HTML时,让浏览器知道它处理的是什么类型的内容,以及这些内容与其他内容的关系。这样一来,辅助技术具有可以使用的结构,以便更容易完成工作。

 

如果必须使用<div>或<span>,则可以添加ARIA(辅助富互联网应用程序)地标角色和标签,以提供关于该元素的更多上下文,以便屏幕阅读器与用户进行交流。这些还可以用于向链接和表单(如搜索栏)添加有用的信息。例如:

 

<form role="search">    <!-- search form  -->    <input type="search"placeholder="Search query" aria-     label="Search through site content"></form>

关于使用ARIA还有很多信息需要学习,MDN文档会是一个很好的起点(https://developer.mozilla.org/en-US/docs/Learn/Accessibility/WAI-ARIA_basics)。

 

3.允许用户跳到主要内容

 

想象一下,你访问了一个新闻网站,在页面的主要内容上方全部都是广告、导航栏、搜索表单、欢迎方式等等。而此时,你想阅读的那篇文章才是主要内容。

 

没有视力障碍的人可以快速绕过其他所有内容,精准定位到文章的开头。但是对于使用屏幕阅读器的人来说,他们需要在获得所需的实际内容之前逐一浏览每个元素。你能想象这将是多么地烦人和费时吗?

 

为解决这个问题,我们可以在页面外创建一个“跳至主要内容”链接,它在网站上是不可见的,但是会被屏幕阅读器接收。这样,用户的体验就可以更接近与正常视力用户的体验,因此也更具包容性。这是HTML的示例:

 

<a href="#content">Skipto main content </a><main id="content"><!-- content goes in here --></main>

这是随附的CSS:

 

.skip-to-content {    position: absolute;    top: -1000px;}

4.使用rem或em代替px

 

当用户需要将其浏览器设置调整为默认的较大文本大小以实现视觉可访问性时,可以期望在不破坏UI的情况下扩大页面上的文本。如果文字是以像素或px编码的,则大小和行间距将无法正确响应,因为它们是固定尺寸,并且文字会很小。

 

这是来自24a11y.com的示例,其中相同的文本仅以px,rem / px和rem编写。如你所见,当用户将其默认浏览器字体设置更改为“非常大”时,px中的第一个示例不会响应大小更改:

 

由24a11y.com提供

 

这样并不是很方便。在第二个示例中,使用px设置行高,可以看到行之间的间距保持不变,从而导致文本显得混乱并且难以阅读。如果像上一个示例那样使用rem或em来调整文本大小,用户将体验到更好的结果,因为这些格式本质上都是可伸缩的。

 

5.请勿改动对焦功能!

 

图源:unsplash

那些手部或手臂有身体残疾的用户可能无法使用鼠标来浏览网站,对于这些用户,他们可能仅依靠键盘在屏幕上导航,这就是默认焦点功能发挥作用的地方。按Tab键,则将看到元素自动以蓝色轮廓高亮显示,指示当前在哪个元素上。

 

一些开发人员可能认为该功能在视觉上对他们的工作没有吸引力,因此将其关闭,但是如果没有明确指出使用者在页面上的位置,那么依赖此功能的人将如何享受其用户体验呢?

 

所以,如果出于任何原因必须进行调整,请确保仍在为用户提供清晰可见的页面位置指示。

 

由Dockyard提供

 

6.保持色彩对比度

 

对于色盲或其他难以区分颜色的用户来讲,重要的是要保持较高的色彩对比度。WCAG指南要求文本和背景色的最低符合率为4.5:1,增强等级的最低符合率为7:1。对于较大的字体大小(如标题),最小值为3:1,增强型为4.5:1。可以检查颜色选择,以确保它们符合WebAIM.org之类的网站。

 

这是一个符合WCAG的出色色彩对比度的示例,它通过了增强的评级:

 

由WebAIM.org提供

 

除了选择合适的颜色对比度之外,另一种做法是包含文本或图标以指示“成功”或“错误”消息,而不是仅仅使用绿色或红色进行通信。对于有色盲的人,这些颜色可能特别难以区分。

 

这绝不是一个可以称得上详尽的清单,只是一个接触Web可访问性的开始。作为开发人员,请确保你的产品对所有人都是可访问且具有包容性的。毕竟,互联网面向所有人开放。


推荐阅读专题

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:钟惠、高淳子

相关链接:

https://uxdesign.cc/6-tips-to-make-your-website-more-accessible-f412ab410122

如转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

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

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

相关文章

网站防篡改脚本

这是我生产中所用的防篡改脚本需要的拿走点赞. 扫描定义的数组目录的所有文件的MD5值&#xff0c;然后在用下面个脚本对比 1.2.2.4 扫描deploy目录的md5值脚本 [rootlocalhost scripts]# cat md5sum_check.sh #!/bin/sh path( /deploy/factory/tomcat/webapps /deploy/passport…

java 网站用户在线和客服聊天

注&#xff1a;本文来源于《java 网站用户在线和客服聊天》这是应用到项目中的一个例子。 实现原理是将信息存储到Application域里面。然后使用Struts2 Action 用json格式的数据进行前后台交互。 截图&#xff1a; 前台用户界面&#xff1a; 后台客服界面&#xff1a; 编辑框采…

熊掌号PHP,个人网站接入百度熊掌号方法,手把手教你如何配置!

前两天开通熊掌号&#xff0c;昨天通过了。就想着赶快接入网站&#xff0c;听说对网站有加成&#xff0c;可以提高收录和排名&#xff0c;新站不容易啊&#xff0c;写了文章都没人看&#xff0c;哭!刚刚网上找教程&#xff0c;根据蝈蝈要安静博客的代码&#xff0c;成功接入熊掌…

2021值得关注的科技与应用:开发运营和网站可靠性工程师看过来!

全文共2431字&#xff0c;预计学习时长7分钟图源&#xff1a;Google三个主流云提供商&#xff08;AWS/Azure/GCP&#xff09;现在都支持通过自定义资源定义&#xff08;CRDs&#xff09;来从Kubernetes中提供和管理云服务。AWS有在开发者预览过程中服务Kubernetes的AWS控制器&a…

向一个网站发请求的几种方式

1. 用requests模块&#xff1a; from django.shortcuts import render, HttpResponse, redirect import requestsdef index(request):re requests.get(http://www.bing.com)# re.encoding utf-8res re.textreturn HttpResponse(res)2. 用http.client 该库一般不直接使用&am…

《大型网站技术架构》读书笔记之五:万无一失之网站的高可用架构

此篇已收录至《大型网站技术架构》读书笔记系列目录贴&#xff0c;点击访问该目录可获取更多内容。 一、可用性度量与考核 首先&#xff0c;不得不说&#xff1a;要保证一个网站永远完全可用几乎是一件不可能完成的任务&#xff08;Mission Impossible&#xff0c;是不是有点碟…

干货|网站前端开发「必会基础知识」有哪些?

Web前端开发网页制主要由HTML、CSS、JavaScript三大要素组成。随着企业需求变&#xff0c;前端开发技术的三要素也演变成现今的HTML5、CSS3、jQuery。响应式布局、微网站等是Web前端未来的发展方向之一。网站前端开发基础知识学习内容&#xff1a;1.HTML基础标签HTML不管前后端…

干货|10个帮程序员减压放松的网站,爽!

工作之余&#xff0c;不妨放下微博跟朋友圈&#xff0c;来这10个网站感受一下。今天播妞给大家推荐的网站&#xff0c;利用代入感强的图片与音频&#xff0c;迅速帮你抹平焦虑&#xff0c;获得平和心态&#xff0c;疲惫的程序员朋友们快来试试吧~✤ 1.Calm这是同类型中最火的网…

推荐10个Java学习神器网站分享给大家肯定有你不知道的哦

不管谁手里都藏着些许自己觉得好用的网站&#xff0c;今天专门找大厂出来的同学同事觉得好用的网站分享给大家&#xff0c;如果这里有你没收藏还不知道觉得还蛮有用的网站可以给我点个赞&#xff0c;大家一起进步&#xff0c;一起学习&#xff0c;同时也可以分享你觉得好用实用…

干货丨网站域名后缀都是什么含义?

互联网技术让信息传递更加快捷&#xff0c;据网络信息&#xff0c;2019年我国网站数量已经达到518万个&#xff0c;每一个网站都有一个唯一的网站域名。细心的同学可能会注意到大部分域名的后缀都是.com。如果你要注册域名就会发现大部分.com域名已经被注册&#xff0c;然而域名…

解决:写的CSDN博客百度搜索不到 (网站/博客/链接 提交百度检索方法)

往往发布了一篇博客&#xff0c;会发现按照博客标题搜索&#xff0c;无法在百度搜索到自己的这篇文章。 这时&#xff0c;我们在以下网站提交我们的博客链接即可&#xff1a; 链接提交_加快网站内容抓取&#xff0c;快速提交数据工具_站长工具_网站支持_百度搜索资源平台 但是…

java中nextint()_「nextint」Java中关于nextInt()、next()和nextLine() - seo实验室

nextint原博客地址&#xff1a;https://www.cnblogs.com/Skyar/p/5892825.htmljava中关于nextint()、next()和nextLine()的理解先看解释&#xff1a;nextInt(): it only reads the int value, nextInt() places the cursor in the same line after reading the input.next(): r…

程序员接私活月入2万?分享10个接私活的网站!

最近&#xff0c;播妞在和身边的程序员聊天中&#xff0c;听不少朋友分享了自己接私活的经历&#xff0c;那收入真是让我“瞠目结舌” ......程序员A&#xff1a;我Java程序员&#xff0c;工作两年&#xff0c;月薪13K&#xff0c;私活20K。程序员B&#xff1a;之前在单位上班&…

Django-oscar 快速搭建商城网站

Django是一个相对容易学习的框架&#xff0c;并且已经发展了许多年&#xff0c;拥有相对活跃的开源环境。像豆瓣、Instagram&#xff0c;Spotify&#xff0c;YouTube等官方网站都是基于Django搭建的。Python实用宝典 曾经发表过Django的实战教程&#xff1a;Python Django快速开…

企业级-Shell案例8——批量检测网站是否异常并邮件通知

批量检测网站是否异常脚本 检测网站运行是否正常&#xff0c;如果不能正常访问&#xff0c;发送邮件通知管理员 curl -o /de/dev/null -s -w "%{http_code}" www.baidu.com访问失败&#xff0c;也又可能和网络等等原因有关。 所以我们要进行次数判断&#xff0c;超…

企业级-Shell案例10——一键部署LNMP网站平台脚本

一键部署LNMP网站平台脚本 网站浏览流程图 L &#xff1a;Linux N &#xff1a; Nginx M &#xff1a;Mysql P &#xff1a;PHP user --> Nginx --> PHP --> Mysql Centos软件安装 1、yum安装 2、源码编译 1&#xff09;./configure 2&#xff09;make…

Docker测试一个静态网站

使用Docker测试静态网站 将Docker作为本地Web开发环境是Docker的一个最简单的应用场景。 这样的环境可以完全复制生产环境&#xff0c;并确保用户开发的东西在生产环境中也能运行。下面从将Nginx Web服务器安装到容器来架构一个简 单的网站开始。这个网站暂且命名为Sample。 …

IIS网站报错targetFramework特性仅作用于目标.NET Framework4.0或更高版本

在访问IIS网站时遇到如下报错 根据提示我们知道是系统已经安装的.NET版本低于程序要求的版本&#xff0c;需要安装符合要求的版本来解决此问题&#xff0c;此时如果使用“服务器管理器”采用点选的方式安装.NET4.5,发现并不能解决此问题&#xff0c;报错依旧 原因为我们的系统…

常用面试编程训练5大网站

编程挑战可以极好地&#xff1a;学习另辟蹊径地完成事情练习一种新的编程语言遇到关键问题进行解决保持我们的大脑敏锐且专注玩得开心&#xff01;在我寻找最好的编程挑战的过程中&#xff0c;我缩小到五个好资源。相信它们可以在你的编程之旅中极大地帮助你&#xff0c;或者可…

.NET程序员必须知道的八个网站

当前全球有数百万的开发人员在使用微软的.NET技术。如果你是其中之一&#xff0c;或者想要成为其中之一的话&#xff0c;我下面将要列出的每一个站点都应该是你的最爱&#xff0c;都应该收藏到书签中去。 对于不熟悉.NET技术的朋友&#xff0c;需要说明一下&#xff0c;.NET提供…