随着移动互联网的快速发展,手机 APP 的使用越来越普遍,而无障碍辅助技术在 APP 中的应用也越来越重要。无障碍辅助技术是指通过一系列的技术手段和器材,让具有视觉、听觉、认知、运动等障碍的人士也能够顺畅地使用手机 APP,获得同等的信息和服务。
为什么需要无障碍辅助技术?
首先,在全球范围内,有大约10%的人口有不同程度的身体障碍,这些人需要使用无障碍辅助技术才能使用手机 APP。另外,即便没有身体障碍,用户也可能处于一些特殊的使用场景,比如在嘈杂的环境中使用手机,或者在某些公共场合需要保持安静。这时无障碍辅助技术也能够提供帮助。
其次,无障碍辅助技术可以提高 APP 的使用体验和可用性。一个无障碍的 APP,并不仅仅意味着它可以让身体有障碍的人也能够使用,同时也可以让所有其他用户获得更好的使用体验。通过无障碍辅助技术,用户不再被视觉、听觉等因素所局限,可以更加自由地获取信息和使用功能,从而提升 APP 的可用性和用户满意度。
最后,无障碍辅助技术也符合社会责任和道德原则。在信息化社会,人人都有权利获取信息和服务,无障碍辅助技术的应用可以进一步推进数字包容,让弱势群体也能够平等参与社会。
如何在 APP 中实现无障碍辅助技术
界面可访问性
APP 的界面可访问性是应用无障碍辅助技术最基础的要求。它包括让界面元素对身体有障碍的人可视、可操作、可理解。具体地,可以从以下几方面入手:
提供文本替代品
适当的描述和文本替代品可以让使用屏幕阅读器的人准确地理解界面内容。对于图片、图标等无法直接理解的元素,提供文本替代品可以让阅读器“朗读”出来,方便使用者获取信息。
<img src="..." alt="这是一张图片,描述这张图片的内容" />
标准化元素
标准化元素是为了确保屏幕阅读器和其他辅助技术可以正确识别和操纵界面元素。在 HTML 标准中,每个界面元素都有着特定的用途和属性,开发者应该合理地应用这些属性,并掌握“经典”标签和属性的意义。特别需要注意的是,不应该只凭可视感受来判断某个元素的类型和作用。
<!-- 视觉上是一个按钮,但这是一个 a 标签,必须要通过 sematic 意义来判断 --> <a href="#" role="button">查看详情</a>
语音反馈和操作提示
语音反馈和操作提示是为了帮助身体受限的使用者更好地操作界面,例如电梯内会有语音提示如“1层,2层,请勿阻挡”。在 APP 中,语音反馈可以提醒用户该操作不支持或者是进行了何种操作。
以下是一个语音反馈的示例代码:
let button = document.getElementById('button') button.addEventListener('click', () => { let message = new SpeechSynthesisUtterance('已发送请求') window.speechSynthesis.speak(message) })
无障碍交互
无障碍交互是指可以让无法使用鼠标或触摸屏的人士,通过键盘操作或语音指令等方式实现交互的设计,也是无障碍辅助技术应用领域中的一个核心。开发者应考虑以下几个方面:
键盘操作
对于无法使用鼠标或触摸屏的人士,键盘操作是最直接、常见也最有效的交互方式。键盘操作可以包括 TAB 键或方向键来选择需要交互的元素,Enter 键或 Space 键来进行操作。开发者需要通过合理的操作顺序、快捷键的设置等,确保键盘操作能覆盖到所有的操作和功能。
以下是一个键盘操作的示例代码:
<button onclick="console.log('click')" onkeypress="if (event.keyCode === 13) console.log('enter')"> 按钮 </button>
语音指令
语音指令可以为无法使用键盘、鼠标、触摸屏等设备的人士提供交互途径。通过语音识别等技术,用户可以进行多种操作。开发者应该仔细设置语音指令的模式和识别率,确保用户可以方便、准确地完成操作。
以下是一个简单的语音指令的示例代码:
let recognition = new SpeechRecognition() recognition.onresult = (event) => { let text = event.results[0][0].transcript if (text === '打电话') { console.log('start dial') } } recognition.start()
小结
无障碍辅助技术在 APP 中的应用,可以让身体受限的人士也能够顺畅地使用手机 APP,并提升所有用户的使用体验。开发者需要考虑界面可访问性和无障碍交互,合理地使用文本替代品、标准化元素、语音反馈、键盘操作、语音指令等技术手段,确保 APP 可以“为所有人服务”。同时,无障碍辅助技术也是一种社会责任和道德原则的体现,作为开发者,我们应该为提升数字包容力做出自己的贡献。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67bc07e1a231b2b7edd59cc4