2010-07-08 27 views
0

我遇到了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%「。

我做錯了什麼?敘述者本來可以閱讀全文。有沒有辦法解決這個問題而不需要改變實際的文本?

回答

1

不要使用解說器,它是一個非常基本的屏幕閱讀程序,並不常用於需要每天使用屏幕閱讀器的人。有關屏幕閱讀器的使用建議,請參閱以下問題。從WPF團隊成員Which screen reader would be best to test site accessibility and how to configure that?

+0

我不我自己使用敘述者;然而我需要在我的代碼中實現輔助功能,敘述者的支持就是其中之一:-( – Vlad 2010-07-09 14:40:59

+0

在這種情況下,我建議你與負責功能要求的人討論,並向他們解釋敘述者的支持是不適合的。你必須支持屏幕閱讀器我建議從http://www.nvda-project.org上推薦NVDA,因爲它是免費的,開源的。 – Jared 2010-07-12 12:08:30

+0

在一家大型商業公司工作,這很複雜,PM認爲用戶有主要是講述他們的系統,所以任務是明確支持Narrator。不知道是否有關於可訪問性支持軟件的某個地方的使用情況統計數據(我會盡力在Google上找到它的。) 無論如何,謝謝你的建議! – Vlad 2010-07-14 15:42:06

1

答:

WPF支持,可以有它的文本混合子控件文本控件。 UI自動化樹不。無法向自動化客戶端描述子編輯控件位於父文本內的位置。 WPF無法輕易解決這個問題 - 這是自動化架構的限制。

要解決,一個可以把文本轉換成單獨的控制來描述在轉化爲自動化的方式順序:

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

THX,羅布Relyea

WPF團隊

+0

謝謝很多權威的答案! – Vlad 2015-11-18 12:15:30