【问题标题】:Force the screen reader to read a label强制屏幕阅读器阅读标签
【发布时间】:2020-05-25 22:40:52
【问题描述】:

我正在使用可访问性属性开发应用程序。我有一些按钮可以增加和减少标签中显示的一些值。当盲人用户更改值时,是否有可能以某种方式强制屏幕阅读器读取标签?

【问题讨论】:

    标签: xamarin.forms xamarin.android accessibility


    【解决方案1】:

    aria-live 的支持参差不齐。

    查看代码示例会很方便,但如果您总是将焦点放在该字段上,那么也许您希望使用带有一些良好消息传递的 aria-label,因为它得到了更好的支持,并且会在该字段获得焦点时被读出。

    <label for="foo">Field Label</label>
    <input type="text" id="foo" aria-label="Field Label. Note: If you are using a screen reader…">
    

    注意:屏幕阅读器会在有焦点时读取值,因此在单击按钮后检查焦点所在的位置。

     1. Probably worth a read: https://developer.paciellogroup.com/blog/2014/03/screen-reader-support-aria-live-regions/
     2. An example from JAWS: ARIA https://www.freedomscientific.com/SurfsUp/AriaLiveRegions.htm
    

    或 辅助功能 - Xamarin.Forms 中的实时区域

    <TextView
       android:id="@+id/feedback_text_view"
         android:accessibilityLiveRegion="polite" />
    

    更多帮助请关注=https://codelabs.developers.google.com/codelabs/basic-android-accessibility/#6

    希望能帮到你

    【讨论】:

    • 我没有添加代码,因为我认为我不会提供帮助。当我使用按钮更改值时,最后点击的按钮具有焦点。如果我更改按钮的可访问性文本,它会被读取。但我也想阅读非重点标签文本。不知道有没有可能?
    • 为此,我认为有一个选项是 aria-live。屏幕阅读器一次只能关注页面的一部分。如果页面上的其他地方发生了变化,屏幕阅读器用户很可能会忘记它。当更新发生在 ARIA 活动区域内时,屏幕阅读器会自动收到通知(无论它当时的焦点在哪里),并将更新的内容传达给用户。
    • 请关注此网址一次,它具有相同的示例“developer.paciellogroup.com/blog/2014/03/…”,只需在您的动态值正在更新的那个 div 上设置 aria-live="polite"。
    • 但是我可以在 Xamarin.Forms 上使用它吗?它似乎是用于 HTML
    • @Jon,因为您在 Xamarin 中使用其他可访问性标签的方式与您必须使用它的方式相同,请在可能获得成功后尝试,aria-live 会强制屏幕阅读器阅读并请投票如果你成功了,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2017-11-10
    相关资源
    最近更新 更多