Accessibility is not working for Windows.UI.Xaml.Controls such as Canvas, Border and Image RRS feed

  • Question

  • <Grid Name="Simple Grid" >
        <Button AutomationProperties.Name="Simple Button" Name="Button" AutomationProperties.AccessibilityView="Control" AutomationProperties.HelpText="Help text for the button is set from XAML" Content="Button" HorizontalAlignment="Left" Margin="285,228,0,0" VerticalAlignment="Top"/>
        <Canvas AutomationProperties.Name="Simple Border" IsTapEnabled="True" Background="Black" Height="300" IsAccessKeyScope="True" Width="200" AutomationProperties.AccessibilityView="Control" AutomationProperties.HelpText="Help text for the border is set from XAML" HorizontalAlignment="Right"/>

    In the above code in Universal Windows Application, Accessibility testing using "Narrator" is working for Button and that was not working for Canvas. Similarly its not working for the Windows.UI.Xaml.Controls like Border, Image..

    How to achieve the accessibility of these controls?

    • Edited by DeepakG211 Friday, February 8, 2019 6:31 AM Removed repeated text
    Friday, February 8, 2019 6:16 AM

All replies

  • @DeepakG211,

    First of all, when you turn on Narrator scan mode by press "Caps Lock+Space", and set your image like the following:

    <!-- Comment -->
    <Image Source="product.png"
      AutomationProperties.Name="An image of a customer using the product."/>

    You will find that Narrator actually can read the Image although "The Image class is not a true control class in that it is not a descendant class of Control. You can't call focus to an Image element, or place an Image element in a tab sequence."

    And for Canvas and border, currently I can only think about a workaround. That is to add a tooltip:

     <Canvas ToolTipService.ToolTip="you are howver a canvas"/>

    For more, please read here

    Best regards,


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact

    Monday, February 11, 2019 5:26 AM
  • Hi Barry,

    Thanks for the update.

    1) Image

    The solution is working, but the narrator detects the Image by default and read it as "Image".

    So when we set the AutomationProperties.Name, it read the content and suffix it with "Image" i.e it read as AutomationProperties.Name + "Image".

    Is that any possibility to avoid the suffix as we can not call focus on image element?

    2) Canvas and Border

    The workaround is fine, but it works on only scan mode as you said.

    Also while hovering, the tool tip displays as we set the tool tip service and narrator also read the text by prefix with "Tooltip" i.e, it read as "Tooltip" + Tool tip text.

    Touch accessibility is also not possible with it.

    Is there any possibility to touch and to avoid the prefix, tooltip display on hovering?

    Missing Accessibility for controls (Canvas and Border) isn't a bug?

    • Edited by DeepakG211 Monday, February 11, 2019 3:28 PM Content changes
    Monday, February 11, 2019 9:10 AM
  • Hi DeepakG211,

    The behavior you are describing sounds like it is expected for Narrator. Is there are particular reason that you want to change the default behavior of Narrator?

    Accessibility is critical to allowing your app to be used by the largest possible number of users. These users have come to expect the default behavior. Modifying this behavior may cause confusion amongst these users. So unless you have a really compelling reason to want to change this default behavior it is recommended that you do not. 

    I hope this helps,


    Windows SDK Technologies - Microsoft Developer Services -

    Thursday, February 14, 2019 1:40 AM