引言
无障碍开发是指开发诸如屏幕阅读器等辅助技术能更好地访问应用程序的方法。 iOS 无障碍开发并不是一项新概念,它的目的是为了让更多的人都能够使用 iPhone 和 iPad 这类的设备。无障碍性能在所有的操作系统、网站、应用都应该被认真对待。在无障碍开发方面,iOS 能做的很好,其系统内置了大量的无障碍功能,那么这篇文章将着重介绍 iOS 上无障碍开发的知识汇总指南。
什么是无障碍开发?
无障碍开发是指使用设计和编码技术,在应用程序开发中使用户能够更容易地访问和使用功能。这样做的目的是使所有人都能够无障碍地使用应用程序,包括那些有特殊需求的人,如盲人、色盲症患者和类似的人群。
为什么要关注无障碍开发?
iOS 上的无障碍功能可帮助有特殊需求的人更舒适地使用 iOS 设备,这包括那些听力受损、视力受损、有语言障碍或运动障碍的人。支持无障碍功能可以给用户带来更好的体验,提高用户对你的应用的满意度,同时也能帮助你的产品打开一扇更宽广的市场大门,使用户得到更好的体验。这种负责任的做法能够帮助你的应用在竞争激烈的市场中脱颖而出。
iOS 无障碍开发的几个方面
iOS 上的无障碍开发有几个方面:
- 手势识别和标签
- 文本框和键盘
- 语音输出
- 辅助技术
手势识别和标签
很多无障碍技术是建立在 iOS 设备上的标签、图像、按钮等控件上的。为了帮助屏幕阅读器或其他辅助技术更好地理解这些控件,为这些控件添加标签是至关重要的。标签不仅是按钮或图像的名称,还包含有关其用途、功能和其他相关信息。为了帮助识别控件,可以使用以下的属性:
accessibilityLabel
accessibilityHint
accessibilityValue
例如,你如下声明一个登陆按钮:
let loginButton = UIButton() loginButton.setTitle("登录", for: .normal) self.view.addSubview(loginButton)
你可以使用 accessibilityLabel
属性告诉屏幕阅读器它是一个按钮,如下:
loginButton.accessibilityLabel = "登录按钮"
这样一来,屏幕阅读器就会知道这个按钮是干什么的,并告诉用户它的用途。
文本框和键盘
在 iOS 开发中,无障碍文本框最常用,因为屏幕阅读器要读出屏幕上的文字,一定要有一个文本框才可以输入。iOS 内置了多个文本框,提供了键盘以输入内容。许多键盘(例如数字键盘和日历键盘)包含辅助功能按钮,这些按钮可以帮助用户更轻松地输入和编辑文本。以下是几个与文本框和键盘相关的属性:
UITextView
accessibilityTraits
accessibilityLabel
accessibilityHint
accessibilityValue
isAccessibilityElement
使用 accessibilityTraits
属性可以指定 TextView 视图组件的属性,如 UIAccessibilityTraitStaticText
、UIAccessibilityTraitLink
和 UIAccessibilityTraitImage
,可以让屏幕阅读器更好地理解应用程序中文本框的用途。在设置 Label 和 TextField 组件的工具栏中,可以找到“无障碍标记”选项,以指定这些属性。
UITextField
accessibilityTraits
accessibilityLabel
accessibilityHint
accessibilityValue
isAccessibilityElement
使用 accessibilityTraits
属性可以指定 TextField 视图组件的属性,如 UIAccessibilityTraitStaticText
、UIAccessibilityTraitLink
和 UIAccessibilityTraitImage
。
语音输出
iOS 上的屏幕阅读器可以使用语音来输出文本和其他内容,如图像和按钮标签。开发人员可以调用辅助功能框架来使应用程序生成声音输出。以下是一些与语音输出相关的属性:
accessibilitySpeech
accessibilityAnnouncementNotification
使用 accessibilitySpeech
属性可以进行 Text-To-Speech(TTS)转换。这个属性可以让屏幕阅读器读出文本、标签和其他相关信息。例如,开发人员可以使用以下代码来指示按钮被按下:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, "按钮被按下了")
这将告诉屏幕阅读器输出指定的语音。这个方法可以为用户提供额外的信息,减少沟通障碍。
辅助技术
辅助技术是指通过使用 iOS 内置的辅助技术,如屏幕阅读器和缩放,来帮助用户使用设备。以下是一些与辅助技术相关的属性:
accessibilityZoomScale
accessibilityCustomActions
accessibilityIncrement
accessibilityDecrement
accessibilityScroll
使用 accessibilityZoomScale
属性可以指定特定的 zoom 缩放级别,该缩放级别用于屏幕阅读器用户和其他具有视觉障碍的用户。
使用 accessibilityCustomActions
属性可以提供自定义操作,这些操作可由屏幕阅读器用户使用。
使用 accessibilityIncrement
和 accessibilityDecrement
属性可以为滚动视图添加上下方向的导航。还可以使用 accessibilityScroll
属性来控制滚动行为,让用户更好地控制此操作。
总结
本文深入解析了在 iOS 上开发无障碍应用程序的方式。我们可以使用标签、文本框和键盘、语音输出和辅助技术等特性来确保我们的应用程序包括有特殊需求的人。通过优化应用程序的无障碍性能,可以使您的应用程序在竞争激烈的市场中脱颖而出,为用户提供更好的体验。我们要知道,无障碍是一种伟大的负责任的方法,在所有的操作系统、网站、应用都应该被认真对待。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6496d08148841e989440481d