.为什么使用无障碍辅助功能?
无障碍辅助功能是使得辅助技术正确解读网页的必要条件。
2.标准和指南
- WCAG网络内容无障碍指南(Web Content Accessibility Guidelines,WCAG) 为开发无障碍网站提供了指南。
- WAI-ARIA网络无障碍倡议 – 无障碍互联网应用(Web Accessibility Initiative – Accessible Rich Internet Applications) 文件包含了创建完全无障碍 JavaScript 部件所需要的技术。
注意: JSX 支持所有 aria-* HTML 属性
<input
type="text"
aria-label={labelText}
aria-required="true"
onChange={onchangeHandler}
value={inputValue}
name="name"
/>
3.语义化的HTML
语义化的 HTML 是无障碍辅助功能网络应用的基础。
利用多种 HTML 元素来强化您网站中的信息通常可以使您直接获得无障碍辅助功能。
3.1:使用 React Fragments 来组合各个组件
3.2:可以把一系列的对象映射到一个 fragment 的数组中
3.2:当不需要在 fragment 标签中添加任何 prop 且你的工具支持的时候,可以使用 短语法:
4.无障碍表单
- 标记
- 所有的 HTML 表单控制,例如 <input> 和 <textarea> ,都需要被标注来实现无障碍辅助功能。
- for在JSX中被写作htmlFor
- 在出错时提醒用户
- 控制焦点
- 键盘焦点及焦点轮廓
- 跳过内容机制
- 使用程序管理焦点
- 用 DOM 元素的 Refs 在 React 中设置焦点
- 有时,父组件需要把焦点设置在其子组件的一个元素上。我们可以通过在子组件上设置一个特殊的 prop 来对父组件暴露 DOM refs 从而把父组件的 ref 传向子节点的 DOM 节点。
焦点管理示例插件:react-aria-modal5.鼠标和指针事件
确保任何可以使用鼠标和指针完成的功能也可以只通过键盘完成。
示例2:onBlur、onFocus
6.更复杂的部件
7.其他考虑因素
- 设置语言
- 设置文档标题
- 可以使用 React 文档标题组件(React Document Title Component)来设置标题
- 色彩对比度
8.开发及测试
- 键盘
- 断开鼠标
- 使用 Tab 和 Shift+Tab 来浏览。
- 使用 Enter 来激活元素。
- 当需要时,使用键盘上的方向键来和某些元素互动,比如菜单和下拉选项。
- 开发辅助
- eslint-plugin-jsx-a11y插件
- 启用更多的无障碍规则,可以在项目的根目录中创建一个有如下内容的 .eslintrc 文件:
- 在浏览器中测试无障碍辅助功能
- aXe、aXe-core、react-axe
- WebAIM WAVE
- 无障碍辅助功能检测器和无障碍辅助功能树
- 屏幕朗读器
- 常用屏幕朗读器
- 火狐中的 NVDA
- Safari 中的 VoiceOver
- Internet Explorer 中的 JAWS
- Google Chrome 中的 ChromeVox
天章鱼猫给大家带来的开源项目啊,安卓同学估计都会非常的喜欢。因为这是一个支持无障碍服务的 Android 平台上的 JavaScript IDE,其发展目标是 JsBox 和 Workflow。
而且同时有 VS Code 插件可提供基础的在桌面开发的功能。
这个开源项目就是:Auto.js,安卓平台上的 JavaScript 自动化工具。
它的特性如下:
- 由无障碍服务实现的简单易用的自动操作函数
- 悬浮窗录制和运行
- 更专业 & 强大的选择器 API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于 Google 的 UI 测试框架 UiAutomator,您也可以把他当做移动版 UI 测试框架使用
- 采用 JavaScript 为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个 JavaScript IDE 使用
- 支持使用 e4x 编写界面,并可以将 JavaScript 打包为 apk 文件,您可以用它来开发小工具应用
- 支持使用 Root 权限以提供更强大的屏幕点击、滑动、录制功能和运行 shell 命令。录制录制可产生 js 文件或二进制文件,录制动作的回放比较流畅
- 提供截取屏幕、保存截图、图片找色、找图等函数
- 可作为 Tasker 插件使用,结合 Tasker 可胜任日常工作流
- 带有界面分析工具,类似 Android Studio 的 LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息
这个软件与按键精灵等软件不同,主要区别是:
- Auto.js 主要以自动化、工作流为目标,更多地是方便日常生活工作,例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频(知乎上出现过该问题,老人难以进行复杂的操作和子女进行微信视频)等
- Auto.js 兼容性更好。以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题,而以控件为基础的 Auto.js 则没有这个问题
- Auto.js 执行大部分任务不需要 root 权限。只有需要精确坐标点击、滑动的相关函数才需要 root 权限
- Auto.js 可以提供界面编写等功能,不仅仅是作为一个脚本软件而存在。
而且这个开源项目,还有自己的官网文档,截图如下:
介绍啊,内容都非常的全面而且细致。
主要功能有:
真的非常好,有兴趣的同学赶紧去 star ,支持一波吧!
开源项目地址:https://github.com/hyb1996/Auto.js
开源项目作者:Stardust
今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!
障碍台阶在实际的项目中很常见
就像这样
▼
这些造型不仅美观
还很实用
那小吧也来装X挑战一下吧
▼
好了,下面请看我的表演
视频教程
<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
视频录制——SketchUp吧弹指神通
视频同款模型领取地址:subar.me/thread-382777-1-1.html
图文教程
*教程中所使用的插件都来自SUAPP中文插件库!
首先我们看到的是平面图。
先来把相邻的两块梯步分别进行【生成楼梯】(SUAPP编号409)快速搞定!
进入其中一个梯步群组,将斜坡位子补充好。
另一边也是一样,注意两边斜坡的位置要持平。
再手动将斜坡补充好,这一部分的梯步就做好了。
同样的方式再把另外的部分完成。
完成的样子。
没错就是这么简单,其实我还有更简单的方法!一个插件【对象切割】(SUAPP编号298)搞定!
好了,装X结束,你学会了吗
任何人没学会我都会伤心的