1、JavaScript OR CSS
行为JavaScript与表现CSS有一些重合的灰色地带,如触发下拉菜单的事件,:hover或mouseover/mouseout。
CSS代码比JavaScript代码要简单得多。JavaScript的mouseout事件需要稳妥且强硬的手段去限制他们惹是生非。
:hover是一个纯鼠标选择器,它不会对键盘焦点作出响应,这样键盘用户会倾向于JavaScript用法。
【注意】与CSS的:hover选择器等效的JavaScript事件并不是mouseover和mouseout,而是微软的专有事件mouseenter和mouseleave,他们孩子能在Explorer。
建议:对若干元素设置相同的效果时,用CSS;而设置相似的效果时,用JavaScript。
2、鼠标键盘事件
主要讨论有无鼠标和有无键盘的情况。
鼠标的mouseover事件与键盘的focus事件对比。这点注意键盘选中的元素有限。
屏幕阅读器支持获得焦点focus和失去焦点blur等界面事件,但不支持mouseover和mouseout事件,因为屏幕阅读器用户用键盘(或等效设备)来输入。
专门用来处理键盘访问的事件是onkeypress,按下键盘上任何一个按键都会触发onkeypress事件。这会带来麻烦。
在几乎所有的浏览器里,用Tab键移动到某个链接然后按下回车键的动作也会触发onclick事件。所以,有时候不用onkeypress事件,而用onclick代替,也是可以的。
3、触发高级脚本的链接
就是说这个链接的所有操作都需要JavaScript来完成,若把链接放在HTML中,而浏览器不支持JavaScript时,用户点击这个链接不会有任何反应,这是一个不好的用户体验。所以,应该在JavaScript中生成这个链接,这样,如果用户看的见链接,这个链接就一定能用。
4、重定向用户
解决可访问性的问题,可以创建一个无脚本版本和一个有脚本版本。启动的时候先进入无脚本页面,检查浏览器是否支持脚本,若支持就将其转向有脚本页面。用location.replace(url)实现,同时这个函数会覆盖旧页面在浏览器中的历史记录,当用户点击后退按钮时,不会回到旧页面(无脚本页面)。而location.href不会覆盖旧的历史记录,单击后退按钮,会回到无脚本页面,这显然是不好的。
5、不建议使用的东东
<noscript>标签。
不支持JavaScript的浏览器会直接忽略掉这个标签,那么也不能显示<noscript>标签内的内容。
浏览器检测。
最好用对象检测,因为浏览器检测的依据,即版本号,是不靠谱儿的,有假冒伪劣的,有的浏览器给用户权限更改版本号的。
分享到:
相关推荐
总结一下,`jest-axe`是Jest测试框架的一个增强工具,它结合了`axe-core`的强大能力,使得在JavaScript项目中进行可访问性测试变得更加简单和直接。通过定制的Jest匹配器,开发者可以轻松地将可访问性检查集成到日常...
总结来说,A11yMachine是Web开发者不可或缺的工具,它可以帮助团队确保其产品符合可访问性标准,提高用户体验,并符合法规要求。通过定期运行A11yMachine进行测试,开发者可以持续改进他们的Web应用程序,使之更加...
【访问学者学习总结】 在本篇访问学者的学习总结中,主要涵盖了在武汉大学进行的一年科研工作的详细过程和收获。该学者受湖北省首届高校青年骨干教师国内访问学者计划资助,致力于提升科研能力和学术水平,特别是在...
总之,“Exchange安装访问总结”涉及到Exchange Server从安装到访问的全过程,包括安装规划、部署类型选择、访问协议配置、安全性管理以及日常运维等多个方面。理解并掌握这些知识点对于成功部署和管理Exchange ...
本资源旨在提供一个对J2SE的宏观性总结,帮助初学者或有经验的Java开发者更好地理解和掌握这个强大的编程平台。 首先,我们来探讨J2SE的基础——Java语言。Java是一种面向对象的、跨平台的编程语言,其设计目标是...
【访问控制列表(ACL)详解】 访问控制列表(Access Control List,简称ACL)是网络设备,如路由器和交换机,用于实现数据包过滤的核心...通过理解并熟练掌握ACL的配置和应用,可以有效地增强网络的安全性和可控性。
### 网站并发大访问量的知识总结 #### 一、大访问量概念与挑战 在互联网领域,网站经常会遇到大量的并发访问需求,这通常被称为“大访问量”或“高并发”。面对这种情况,单一服务器往往难以支撑巨大的访问压力,...
导航网站上的其他一些通用元素上下文关系非常重要相关内容标题可用性可访问性总结练习题主页很多人倾向于认为“让我们从多数用户首先访问的页面-主页开始,这符合逻辑吧?”这听起来符合逻辑,但其实并不是这样的。...
CSS不仅控制着页面的布局,而且在现代Web开发中,它也扮演着提升网页可访问性的重要角色。CSS可访问性API映射(CSS AAM)是这个领域的一个关键概念,它与JavaScript密切相关,旨在让开发者能够更好地理解和利用这些...
Java 可访问性指南提供了多种信息,例如如何使用 Java 可访问性 API,如何创建可访问性的用户界面,如何使用辅助技术等。这些信息旨在帮助开发者创建更加友好的应用程序,以满足不同用户的需求。 三、 Java 平台...
本资源总结了分布式面试题的知识点,涵盖了分布式系统的基础概念、集群、分布式、SOA、微服务的概念及区别、CAP 理论、BASE 理论、数据一致性模型等。 一、分布式系统基础概念 分布式系统是指由多个自治的计算机...
这不仅要求掌握编程技能,还要关注用户体验,确保网页的可用性、可访问性和兼容性。同时,参与需求分析、代码审查、性能优化也是不可或缺的部分。 在编写工作总结或报告时,采用适合的PPT模板可以帮助整理思路,...
这两种技术的结合使用可以实现网页逻辑与网页设计和显示的分离,支持可重用的基于组件的设计,并使基于 Web 的应用程序的开发变得迅速和容易。 知识点3:JSP 技术的应用 作者使用 JSP 技术来封装产生动态网页的处理...
此外,时间管理和组织能力是电话访问员不可或缺的技能。由于工作时间通常是固定的,而电话数量可能会波动,我需要灵活地调整工作节奏,确保能在规定的时间内完成所有的任务。同时,记录和整理客户信息也是一项重要的...
- **服务器数据库**:MySQL是常用的轻量级数据库,因其速度快、可伸缩性好、可靠性高、易于编程和成本效益高而被选中。它特别适合Web应用程序,具有良好的Perl接口和灵活的权限设置。 2. **防火墙策略** - **子网...
架构设计要考虑到系统的可扩展性、可维护性和性能;模块设计确保各部分职责明确,便于团队协作;数据库设计要合理规范,保证数据安全与高效访问;界面设计则注重用户体验,力求简洁易用。 3. **编程实现**:这一...
【VC++数据库编程总结】 在IT领域,尤其是软件开发中,数据库编程是不可或缺的一部分,尤其在使用VC++作为开发工具时。VC++可以与多种数据库系统进行交互,如SQL Server、Oracle等,通过不同的访问技术实现数据的...
虽然系统的生产效率略低,但整体质量尚可,基本满足预期功能。不过,开发过程中存在一些不应有的错误,错误率约为0.5%。这反映出团队沟通不足和实践经验的缺乏。技术方法较为基础,使用的开发工具成熟稳定。 【经验...
安卓知识点总结的重要性在于,它可以帮助开发者快速了解 Android 的基础知识和高级知识,从而提高开发效率和质量。同时,安卓知识点总结还可以帮助开发者更好地理解 Android 的设计模式和架构,从而更好地设计和实现...
**访问列表(Access Control List, ACL)是网络设备上一种重要的安全机制,用于...在学习过程中,可以参考《ACL总结.pdf》这份文档,它应该包含了详细的案例分析和配置示例,帮助你更好地理解和掌握访问列表的使用。