Forum Xamarin.Forms

Voiceover

DanielHJDanielHJ Member ✭✭

Hello everyone!

I am new to Xamarin and was just wondering if anyone knows how to make voiceover jump to a modal being opened.

  • What I am trying to do is have a TabbedPage with more than 5 tabs. This gives me a "More" button.
  • Selecting the "More" button with voiceover activated opens the modal page with the remaining tabs

The behaviour I expected was:

  • I navigate to the "More" button
  • Double tap to open
  • Voiceover would jump to the first element in the accessibility tree on the new page

    Instead I am just stuck on the tabbar until I put my device to sleep and then wake it up again. At this point it will jump to the "More" page.

Is there any way I can get my expected behaviour?

<?xml version="1.0" encoding="utf-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:d="http://xamarin.com/schemas/2014/forms/design"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:Accessible;assembly=Accessible"
            mc:Ignorable="d"
            x:Class="Accessible.MainPage">


    <NavigationPage Title="Page one"
                    IconImageSource="person.png"
                    AutomationProperties.IsInAccessibleTree="True"
                    AutomationProperties.HelpText="Open page one">
        <x:Arguments>
            <local:Page1/>
        </x:Arguments>
    </NavigationPage>

    <NavigationPage Title="Page two"
                    IconImageSource="person.png"
                    AutomationProperties.IsInAccessibleTree="True"
                    AutomationProperties.HelpText="Open page two">
        <x:Arguments>
            <local:Page2/>
        </x:Arguments>
    </NavigationPage>

    <NavigationPage Title="Page three"
                    IconImageSource="person.png"
                    AutomationProperties.IsInAccessibleTree="True"
                    AutomationProperties.HelpText="Open page three">
        <x:Arguments>
            <local:Page3/>
        </x:Arguments>
    </NavigationPage>

    <NavigationPage Title="Page four"
                    IconImageSource="person.png"
                    AutomationProperties.IsInAccessibleTree="True"
                    AutomationProperties.HelpText="Open page four">
        <x:Arguments>
            <local:Page4/>
        </x:Arguments>
    </NavigationPage>

    <NavigationPage Title="Page three"
                    IconImageSource="person.png"
                    AutomationProperties.IsInAccessibleTree="True"
                    AutomationProperties.HelpText="Open page three">
        <x:Arguments>
            <local:Page3/>
        </x:Arguments>
    </NavigationPage>

    <NavigationPage Title="Page one"
                    IconImageSource="person.png"
                    AutomationProperties.IsInAccessibleTree="True"
                    AutomationProperties.HelpText="Open page one">
        <x:Arguments>
            <local:Page1/>
        </x:Arguments>
    </NavigationPage>

</TabbedPage>

Answers

  • jezhjezh Member, Xamarin Team Xamurai

    Voiceover would jump to the first element in the accessibility tree on the new page

    Instead I am just stuck on the tabbar until I put my device to sleep and then wake it up again. At this point it will jump to the "More" page.

    Sorry,I don't quite understand what your meaning . And what does the word of voiceover mean?

    Could you please explain it in more details?

  • DanielHJDanielHJ Member ✭✭
    edited March 2020

    @jezh said:

    Voiceover would jump to the first element in the accessibility tree on the new page

    Instead I am just stuck on the tabbar until I put my device to sleep and then wake it up again. At this point it will jump to the "More" page.

    Sorry,I don't quite understand what your meaning . And what does the word of voiceover mean?

    Could you please explain it in more details?

    If you have more than five tabs in an application, the button farthest to the right will become like a menu button. When you press it, a modal page will open with a listview of the remaining tabs.

    If you are using the voiceover feature of accessibility (screen reader) I expect that, when you navigate to the menu button, the screen reader should jump to the first element in the newly opened modal page. Instead it will just stop on the menu button.

    I want the screen reader to jump to the new modal page and read the first element.

    I hope this explains it better.

    Thanks

Sign In or Register to comment.