El lector de pantalla no lee el contenido del TextBlock en la aplicación WPF.
Estoy escribiendo una aplicación WPF (.net 5) que debería admitir la accesibilidad, específicamente el lector de pantalla de Windows, para leer el texto en pantalla. Estoy usando algunos TextBlock
y espero que tan pronto como se muestre la ventana, el lector de pantalla comience a leer todo el texto presente en la pantalla uno por uno.
Lo que observo es que mientras se lee el contenido del Button
, el contenido de cualquier TextBlock
no es leído por el narrador en absoluto.
¿Cómo puedo hacer que el narrador lea todo el contenido de la ventana uno por uno?
~~~
<Window x:Class="SampleApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SampleApp"
mc:Ignorable="d"
TabIndex="0"
Focusable="True"
Title="MainWindow" Height="450" Width="800">
<Grid>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock x:Name="firstText"
Text="Esta es la primera línea"
KeyboardNavigation.TabIndex="1"
KeyboardNavigation.TabNavigation="Continue"
AutomationProperties.AutomationId="firstTextBox"
AutomationProperties.Name="Esta es la primera línea"
/>
<TextBlock x:Name="secondText"
Text="Esta es la segunda línea"
KeyboardNavigation.TabIndex="2"
KeyboardNavigation.TabNavigation="Continue"
AutomationProperties.AutomationId="secondTextBox"
AutomationProperties.Name="Esta es la segunda línea"
/>
</StackPanel>
<pre><code></Grid>
</code></pre>
</Window>
~~~
davy.ai
Para que el narrador lea todo el contenido de la ventana uno por uno, es necesario utilizar el atributo
AutomationProperties.Name
para cadaTextBlock
. Este atributo proporciona el texto que el narrador leerá en voz alta y debe ser establecido en el contenido delTextBlock
.En el código proporcionado, el atributo
AutomationProperties.Name
ya está establecido para cadaTextBlock
, pero es posible que el valor del atributo no esté establecido correctamente. Asegurarse de que el valor deAutomationProperties.Name
coincida con el contenido de texto delTextBlock
.También, asegurarse de que el
TextBlock
sea visible y esté habilitado para la narración. Verificar cualquier problema de visibilidad o de enfoque que pueda evitar que el narrador lea el contenido.Si el problema persiste, se puede intentar utilizar el atributo
AutomationProperties.HelpText
en lugar deAutomationProperties.Name
. Este atributo proporciona texto adicional que puede ser leído después del nombre y puede ayudar al narrador a leer el contenido correctamente.Por último, verificar si existen problemas de compatibilidad entre la versión de Narrador de Windows y la aplicación WPF. Es posible que el problema sea causado por un problema de compatibilidad que se pueda resolver actualizando la aplicación o la versión de Windows.