Narrator narrating UI element with `isTabStop=false`

76 views Asked by At

I have one xaml page where there are multiple UI elements are there, and i wanted narrator to pick some UI element and ignore other. So with below code you can, see that I have four Grid Row Definition the last UI element is rendered on screen as Grid.RowSpan=4 and other UI elements also got intialized just for performance reason, but it won't be visible intially untill the last element Visibility will be set to Collapsed.

What i want when that "UserControlView1" control is rendered narrator should not pick other UI element, but once that is gone then narrator should start picking those UI element.

I have tried IsTabStop=false but not sure why it is not working.

<Page
    xmlns:mvvm="using:Prism.Windows.Mvvm"
    mvvm:ViewModelLocator.AutoWireViewModel="True"
    // some random namespaces declaration
    Loaded="PageLoaded">
        <Grid>
            <Grid.ColumnDefinitions>
               // some Grid Column definition
            </Grid.ColumnDefinitions>

            <Grid.RowDefinitions>
               // "4" Grid Row definition...
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <ctl:UserControlView2
               x:Name="UserControlView2"
                Grid.Row="1"
                Grid.ColumnSpan="2" 
                IsTabStop="False"/>

            <ctl:UserControlView3
                x:Name="UserControlView2"
                Grid.Row="2"
                Grid.Column="0"
                IsTabStop="False" --> I have set IsTabStop to false />

            <ctl:UserControlView4
                x:Name="UserControlView3"
                Grid.Row="3"
                Grid.Column="0"
                IsTabStop="False" --> I have set IsTabStop to false />

            <ctl:UserControlView1
                d:Visibility="Collapsed"
                x:Name="UserControlView1"
                x:Load="{x:Bind ViewModel.UserControlView1}"
                Grid.Row="0"
                Grid.RowSpan="4" // as it span to four rows the reason being its gets render at top of the screen and other UI element will be there beneath it.
                Grid.ColumnSpan="2"
                TabIndex="0"/>
        </Grid>
</Page>
0

There are 0 answers