Android的可访问性将对讲限制为仅读取可见文本



我有一个带有maxLines="1"TextView和一个长文本字符串。ellipsize="end"在1行之后截断文本,但对讲继续读取TextView中不可见的整个文本。

<TextView
android:id="@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="@{titleText}" />

我可以将对讲限制为只阅读TextView中可见的文本,而不是阅读整个文本吗?

您可以使用android:contentDescription来覆盖Talkback为TextView宣布的内容。您无法真正确定在省略号之前有多少文本可见,因为用户可能会在其辅助功能设置中将字体大小设置得更大,从而导致省略号前显示的文本更少,但如果您知道要读取的文本,则可以在contentDescription中设置。

不过,我会谨慎行事。ellipsize主要是一个视觉功能,让用户知道要显示的文本比屏幕上能容纳的多。如果屏幕更大(或文本更短(,那么所有内容都会显示出来。屏幕阅读器用户并不真正关心文本是否能放在屏幕上,他们通常希望听到整个文本。

最新更新