在讲述错误的阅读顺序(Wrong reading order in Narrator)

2019-10-29 07:36发布

我有与Microsoft讲述的一个问题。

我有这样一个WPF片段:

<Window
    x:Class="InlineEditbox.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Narrator test" SizeToContent="WidthAndHeight">
    <TextBlock>
        <Run xml:space="preserve">I want to pay </Run>
        <InlineUIContainer>
            <TextBox Width="70" HorizontalContentAlignment="Right">0</TextBox>
        </InlineUIContainer>
        <Run xml:space="preserve"> % more</Run>
    </TextBlock>
</Window>

该文本正确显示; 然而讲述读取这样说:“我要付出更多的百分之零”,而不是预期的“我要付出百分之0多”。

难道我做错了什么? 讲述人可能只是阅读。因此整个文本。 有没有办法来解决这个问题,而不需要改变实际的文本?

Answer 1:

不要使用解说员,这是一个非常基本的屏幕阅读程序,而不是通常所用谁需要使用屏幕阅读器每天的基础上的人。 看到屏幕上的读者建议操作,使用下面的问题。 其屏幕阅读器将是最好的测试网站可访问性和如何配置?



Answer 2:

从WPF团队成员答案:

WPF支持,可以有它的文本混合子控件文本控件。 UI Automation树没有。 有没有办法来形容自动化客户端在父母的文本中的子编辑控件的生活。 WPF不能轻易解决这个问题 - 它的自动化架构的限制。

为了解决方法,一个可以把文成单独的控制来描述在转化为自动化的方式顺序:

<TextBlock>I want to pay</TextBlock>
<TextBox> 0 </TextBox>
<TextBlock>% more</TextBlock>

THX,罗布Relyea

WPF团队



文章来源: Wrong reading order in Narrator