Laden...

Screenreader (NVDA) Liest nur WPF-Window-Title

Erstellt von Steav vor 11 Jahren Letzter Beitrag vor 11 Jahren 2.234 Views
S
Steav Themenstarter:in
142 Beiträge seit 2007
vor 11 Jahren
Screenreader (NVDA) Liest nur WPF-Window-Title

Hallo allerseits,

ich möchte ein kleines WPF Testprogramm entwickeln, welches mit Screenreadern welche z.B. von blinden Usern als Bedienhilfe verwendet werden, bei dem der Name und ein Hilfetext des Fokusierten Controls vorgelesen werden.

Dazu verwende ich die AutomationProperties. Allerdings scheint NVDA ausschließlich den Title meines Windows vorzulesen, und den Focus auf den anderen Controls zu ignorieren.

Hat zufällig jemand Erfahrung auf dem Gebiet oder eine Ahnung, woran das liegen könnte?


<Window x:Class="AutomationPropertiesTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="394" Width="307"       
        >
    
    <Grid>
        <Label Content="Summand" Height="28" HorizontalAlignment="Left" Margin="12,8,0,0" Name="label1" VerticalAlignment="Top" />
        <Label Content="Summand" Height="28" HorizontalAlignment="Left" Margin="12,43,0,0" Name="label2" VerticalAlignment="Top" />
        <Label Content="Summe" Height="28" HorizontalAlignment="Left" Margin="12,125,0,0" Name="label3" VerticalAlignment="Top" />
        <Rectangle Height="2" HorizontalAlignment="Left" Margin="0,80,0,0" Name="rectangle1" Stroke="Black" VerticalAlignment="Top" Width="336" />


        <Button x:Name="btnBerechnen" Content="Berechnen" AutomationProperties.AutomationId="MainWindow_Button_Berechnen" AutomationProperties.IsRequiredForForm="True" AutomationProperties.Name="Summe Berechnen" AutomationProperties.HelpText="Mit diesem Knopf starten Sie die Berechnung" Height="23" HorizontalAlignment="Left" Margin="12,88,0,0" VerticalAlignment="Top" Width="261" />

        <TextBox x:Uid="summand 1" AutomationProperties.AutomationId="MainWindow_TextBox_Summand1" AutomationProperties.IsRequiredForForm="True" AutomationProperties.Name="Summand 1" AutomationProperties.HelpText="Bitte geben Sie den ersten Summanden ein" Height="23" HorizontalAlignment="Left" Margin="82,10,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
        <TextBox AutomationProperties.AutomationId="MainWindow_TextBox_Summand2" AutomationProperties.IsRequiredForForm="True" AutomationProperties.Name="Summand 2" AutomationProperties.HelpText="Bitte geben Sie den zweiten Summanden ein" Height="23" HorizontalAlignment="Left" Margin="82,43,0,0" Name="textBox2" VerticalAlignment="Top" Width="120" />
        <TextBox AutomationProperties.AutomationId="MainWindow_TextBox_Summe" AutomationProperties.IsRequiredForForm="False" AutomationProperties.Name="Summe" AutomationProperties.HelpText="Hier steht das Ergebnis" Height="26" HorizontalAlignment="Left" Margin="82,125,0,0" Name="textBox3" VerticalAlignment="Top" Width="120" />
    </Grid>
</Window>

Danke schonmal 😃

Steav

S
Steav Themenstarter:in
142 Beiträge seit 2007
vor 11 Jahren

Habe die Antwort gefunden...

aus irgendeinem Grund liest NVDA die Texte nicht, wenn man das Programm aus Visual Studio heraus startet. Startet man die .exe direkt funktioniert es einwandfrei.

Für Hintergründe, warum das so ist wäre ich trotzdem noch dankbar =)

6.862 Beiträge seit 2003
vor 11 Jahren

Das lustige ist eigentlich, dass wenn man nach "nvda wpf" sucht, die ersten paar Treffer Bugreports sind 😉 So super ausgereift scheint es wohl nicht zu sein.

Der Grund warum es aus VS direkt nicht geht, dürfte wohl der Hostingprozess des Debuggers sein. Warum das dann nicht tut, weiß ich auch nicht, aber das ist der einzige Unterschied.

Baka wa shinanakya naoranai.

Mein XING Profil.