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

Posted

技术标签:

【中文标题】Android 可访问性将对讲限制为仅读取可见文本【英文标题】:Android accessibility restrict talkback to reading only the visible text 【发布时间】:2022-01-13 08:08:33 【问题描述】:

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

                   <TextView
                    android:id="@+id/tv_title"
                    android:layout_
                    android:layout_
                    android:ellipsize="end"
                    android:maxLines="1"
                    android:text="@titleText" />

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

【问题讨论】:

【参考方案1】:

您可以使用android:contentDescription 覆盖 Talkback 为 TextView 宣布的内容。您无法真正确定在省略号之前可以看到多少文本,因为用户可能会在其可访问性设置中将字体大小设置为更大,从而导致在省略号之前显示的文本更少,但如果您知道要阅读的文本,你可以在contentDescription中设置。

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

【讨论】:

谢谢@slugolicious。我知道 contentDescription 方法。虽然,我希望是否有一些标准的方法来实现这一点。但看起来在处理带有对讲​​的椭圆形文本方面没有太多选择。 我想先说明显而易见的答案 :-)。您的 OP 没有说您尝试过 contentDescription

以上是关于Android 可访问性将对讲限制为仅读取可见文本的主要内容,如果未能解决你的问题,请参考以下文章

github设置仓库可见性 私人仓库设置他人协作/可见

如何将文本字段限制为仅有效的小数?

当类型为文本时,将输入框限制为仅数字

Laravel / Eloquent 模型属性可见性

将字符串文字限制为仅文本

如何将可绘制背景设置为仅将数字字符串转换为 android 中的另一个字符串?