as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
设备
构建
测试
应用发布
相关资源
文档

Share:

Edit the Blog Post Header component above this, then place your content here, then fill out the Related Articles section below, if possible. You should have at least one related article and ideally, all three.

Feel free to add supplementary content to the sidebar at right, but please retain the Twitter component (it can live at the bottom of your added content). 

This text component can be edited or deleted as necessary.

Related Articles

Related article title here

Related articles only have an image (the squarer version of the banner) and a title. This text can be deleted. Place 1-3 related articles.

Subscribe

面向每个人进行设计 1:亚马逊Fire设备上的无障碍功能指南

Amazon Developer Nov 18, 2025
Share:
Fire tablet Fire TV How to
Blog_Header_Post_Img

从手持平板电脑到大屏幕电视,Fire OS可支持各种设备。您的应用可能由各种不同的用户使用 - 从听力受损的儿童用应用来流式播放卡通片,到祖父母用放大镜在应用上进行阅读,各种情况都可能存在。作为一名应用开发者,您希望确保自己的应用适用于所有人,无论他们的能力如何,也无论他们如何与技术互动。

这正是您需要在设计时考虑到无障碍功能的原因。无障碍设计可以大幅提高导航能力和包容性。而且在这样的设计思路下,通常也会让界面更清晰,代码的维护更容易。

下面我们来了解一些关键特性,以及构建包容性Fire应用的技巧和策略。

了解无障碍功能环境

Fire设备的屏幕尺寸和输入类型多种多样。有些终端是基于触摸的Fire平板电脑。有些终端是通过语音和遥控器来控制的Fire TV。作为一个为如此广泛的用户群进行构建的开发者,对这些不同的交互方式进行适当的规划至关重要。

Fire平板电脑和Fire TV都支持VoiceView(屏幕阅读器)和屏幕放大镜。Fire平板电脑还可支持语音访问导航眼动跟踪盲文显示。Fire TV设备提供隐藏式字幕、视障人士适用的文本横幅VoiceView导航

亚马逊为Fire平板电脑Fire TV提供无障碍功能指南,以帮助您实现此类功能。然而,除了代码之外,您还需要了解这些无障碍功能工具是如何塑造用户体验的。适用于触摸屏的布局可能不适用于方向键导航。根据任务的不同,单个用户可能会在语音和放大两种方式之间来回切换。

设备特有的无障碍功能

Fire平板电脑和Fire TV设备共享一些核心无障碍功能,如VoiceView和屏幕放大镜,但这些功能的呈现和使用方式可能差异较大。Fire平板电脑通常为个人互动提供更多支持,而Fire TV则强调遥控器友好和共享使用的无障碍功能。为这二者进行设计意味着要了解这些优势,并且不要假设功能在设备之间表现相同。

不同的设备类型对此等不同无障碍功能的支持情况具体是怎样? 请查看下表,了解每个平台支持哪些功能。

 

无障碍功能

Fire平板电脑

Fire TV

VoiceView屏幕阅读器

支持(触摸和键盘输入)

支持(遥控器和键盘输入)

屏幕放大镜

支持(基于手势的缩放)

支持(基于遥控器的缩放和平移)

字体大小控制

支持(系统级字体缩放)

不适用

高对比度文本

支持(试验版)

颜色校正

不适用

颜色反转

不适用

隐藏式字幕

支持(可自定义样式和大小)

支持 (在播放过程中可切换)

音频描述

支持

立体声转单声道

不适用

开关控制

不适用

语音导航

支持,通过语音访问支持

 

有限支持(通过Alexa支持

遥控器按钮宣布

不适用

支持,通过Explore Your Remote(探索您的遥控器)功能支持

文本横幅

不适用

听力辅助装置支持

有限支持(通过蓝牙支持)

支持(ASHA协定和双音频选项)

用户配置文件

不适用

支持(个性化无障碍功能设置)

阅读辅助工具

支持 (Word Wise、阅读标尺)

不适用

眼动跟踪支持

不适用

设计无障碍功能时的关键考虑因素

为Fire OS构建无障碍应用意味着不只是孤立地支持各个功能。更重要的是,您需要关注应用在现实世界各种场景中的运行情况。

  • 针对不同屏幕和输入方式进行设计
    • Fire平板电脑的输入通过触摸实现。Fire TV设备的输入通过遥控器和语音实现。应当将这些用户输入偏好牢记在心。例如,避免使用难以精确触碰的过小触摸目标。确保您的电视用户界面有清晰的焦点指示器用于导航。
  • 如果是重要内容,则进行标记。
    • 如果使用图像、图标或自定义控件,则需要为它们提供能帮助理解的内容描述。VoiceView无法猜测齿轮图标的功能;您必须为其明确说明。
  • 不要假设用户可以看到或听到所有内容。
    • 请遵照以下基本原则: 如果用户可以看见某个内容,则也应该能听到它。如果用户可以听到某个内容,则也应该能看见它。对音频使用字幕。宣布动态文本更改。确保VoiceView或屏幕放大镜用户可以注意到警告和错误。提供充分的提示,比如颜色结合文字及声音。这些提示将会大有用处。
  • 确保文字易于阅读,并且布局可以扩展。
    • 对字体大小使用比例无关像素 (sp),对布局间距使用密度无关像素 (dp)。这样,所有内容都可以通过系统范围内有效的字体或缩放设置正确缩放。
  • 支持备选导航方式
    • 无障碍功能工具包括开关控制、语音命令、外接键盘和盲文显示器。您的用户可能会依赖上述任何工具来使用应用。不要用只能以一种方式起作用的手势或设计来妨碍用户使用应用。
  • 保持一致和宽容的体验
    • 可预测的布局和宽裕的超时时间可让有认知差异的用户受益。避免意外,并提供明确的反馈。让用户可以方便地退出或重试,从而获得更多控制权。

实现核心无障碍功能

随着您对这些原则的理解加深,您的设计将得到进化,从无障碍功能友好的意图演变为现实世界的包容性行为。这是巨大的进步。但如何在代码中实现这点? 下面是如何实现一项功能的示例:

支持放大和可扩展布局

当视力低下的用户访问数字内容时,他们依赖于屏幕放大功能。但是将内容放大后,用户一次只能看到屏幕的一小部分。这导致用户很容易错过出现在当前视口之外的内容。此外,当用户增大系统字体大小时,如果布局没有考虑可扩展性,则可能导致使用中断;文本将被截断或元素将重叠。

设想有这样一种输入表单:当验证失败时,会出现错误消息。或者是有这样的配置文件页面:其中的文本需要根据用户的字体大小偏好进行缩放。为了有效地支持屏幕放大镜用户,您需要同时实现内容可见性管理和可扩展的布局设计。

为了确保动态内容对放大镜用户可见,当新内容出现在屏幕上时,会自动将其引入用户经放大的视口。

Copied to clipboard
submitButton.setOnClickListener {
  if (emailInput.text.isEmpty()) {
    errorMessage.visibility = View.VISIBLE

    // 当用户放大时,屏幕上出现的新视图可能
    // 位于其当前经放大的视口之外。
    //
    // requestRectangleOnScreen() 要求系统滚动视图,从而
    // 确保将指定的矩形(在本例中为整个
    // errorMessage视图)引入视图。
    val rect = Rect()
    errorMessage.getHitRect(rect)
    errorMessage.requestRectangleOnScreen(rect, false)
  } else {
    errorMessage.visibility = View.GONE
  }
}

这里的重要方法是 requestRectangleOnScreen(rect, false),该方法确保当出现错误消息时,会自动引入用户当前经放大的视口。这有助于防止用户错过重要信息。

为了确保根据不同的设备和用户偏好进行适当缩放,请选择正确的单位。例如:

Copied to clipboard
<TextView
  android:id="@+id/user_name"
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:text="用户名示例"
  android:textSize="20sp"
  android:layout_marginStart="16dp"
  app:layout_constraintStart_toEndOf="@id/profile_icon"
  app:layout_constraintEnd_toEndOf="parent"
  app:layout_constraintTop_toTopOf="@id/profile_icon" />

本例中的关键细节如下:

  • sp:此项针对文本大小,用于遵循用户的系统字体大小偏好。
  • dp:此项针对边距和内边距,用于在不同的屏幕密度之间一致地缩放。
  • 0dp:具有限制的宽度,此项可让视图根据需要扩展或收缩。

最后,使用ConstraintLayout在视图之间创建适应内容变化的关系。例如:

Copied to clipboard
<TextView
  android:id="@+id/user_bio"
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:text="这是一个示例简档,将以多行呈现,并演示如何使用可缩放单位 (sp) 使文本在不破坏布局的情况下扩展。"
  android:textSize="16sp"
  android:layout_marginTop="8dp"
  app:layout_constraintStart_toStartOf="@id/user_name"
  app:layout_constraintEnd_toEndOf="parent"
  app:layout_constraintTop_toBottomOf="@id/user_name" />

约束关系(用layout_constraint*指定)确保当文本扩展或收缩时,布局会进行调整,而不会将内容剪切或重叠。

在实现这些措施时,请记住就以下方面测试您的布局:

  • 以不同缩放级别启用的屏幕放大功能
  • 系统中的大字体大小
  • 不同的屏幕密度和方向
其他注意事项

另外可以考虑实现对以下其他无障碍功能的支持:

  • 隐藏式字幕和字幕自定义
  • 通过Alexa进行语音控制(尤其适用于Fire TV)
  • 语音访问导航语音选择、开关控制、盲文显示器和外接键盘的兼容性
  • VoiceView,即Fire OS设备的一项关键功能,可让视障用户浏览Fire TV用户界面。另一篇专门针对VoiceView的文章即将上线。

在开发过程中,在现实中的Fire平板电脑和Fire TV设备上测试您的无障碍功能。用VoiceView、屏幕放大器和开关控制测试应用。最重要的是,从依赖这些功能的用户那里获得反馈 - 现实世界的测试是最有效的验证手段。

打造包容性的Fire设备体验

不能将无障碍功能视为附加的功能,或者视为可以在事后再考虑的事项。这是必备的功能,可以让您的应用对所有用户都可用,无论他们的背景、能力和期望为何。如果您在设计时考虑到各种各样的用户,所构建的软件会更具包容性。而且最后您也将能造就对每个人来说都更加精致和直观的应用。

无论您是更新现有Fire应用还是构建新的应用,如果需要,都可以从细微处着手。给图标施加标记。用VoiceView进行测试。尝试用遥控器而非触摸方式进行用户界面导航。为此所做的每一步都会改善某种用户的体验,通常也会改善许多人的体验。

其他资源

相关文章

最新文章

 

查看有关亚马逊应用商店、应用开发与盈利、亚马逊服务以及更多主题的最新消息。