These lists have a static text role because they have a presentation role.
Presentation Item 1
Presentation Item 2
The first list item has a listitem role even if ul has a presentation role because it has an explicit role.
Explicit Item 1
Implicit Item 2
These two tables have static text roles because they have presentation roles.
Presentation th
Presentation th
Presentation th
The "Presentation th" has a static text role because it has a presentation role.
Presentation th
Normal td
The row for "Explicit th" has a row role even if table has a presentation role because it has an explicit role.
Explicit th
Implicit td
The menu items except button have a static text role because it has a presentation role and is disabled.
Button has a button role because it has an explicit role.
 I have a bike   Male  Female
The option A has a static text role because it has a presentation role and is disabled.
The option B has option role because it has an explicit role.
A
B

End of test

This test make sure that presentation role is inherited to required owned elements.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

AXRole: AXWebArea
    AXRole: AXGenericContainer
        AXRole: AXStaticText "These lists have a static text role because they have a presentation role."
            AXRole: AXInlineTextBox "These lists have a static text role because they have a presentation role."
    AXRole: AXStaticText "Presentation Item 1"
        AXRole: AXInlineTextBox "Presentation Item 1"
    AXRole: AXStaticText "Presentation Item 2"
        AXRole: AXInlineTextBox "Presentation Item 2"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "The first list item has a listitem role even if ul has a presentation role because it has an explicit role."
            AXRole: AXInlineTextBox "The first list item has a listitem role even if ul has a presentation role because it has an explicit role."
    AXRole: AXListItem
        AXRole: AXListMarker "• "
        AXRole: AXStaticText "Explicit Item 1"
            AXRole: AXInlineTextBox "Explicit Item 1"
    AXRole: AXStaticText "Implicit Item 2"
        AXRole: AXInlineTextBox "Implicit Item 2"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "These two tables have static text roles because they have presentation roles."
            AXRole: AXInlineTextBox "These two tables have static text roles because they have presentation roles."
    AXRole: AXGenericContainer
        AXRole: AXStaticText "Presentation th"
            AXRole: AXInlineTextBox "Presentation th"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "Presentation th"
            AXRole: AXInlineTextBox "Presentation th"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "Presentation th"
            AXRole: AXInlineTextBox "Presentation th"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "The "Presentation th" has a static text role because it has a presentation role."
            AXRole: AXInlineTextBox "The "Presentation th" has a static text role because it has a presentation role."
    AXRole: AXTable
        AXRole: AXStaticText "Presentation th"
            AXRole: AXInlineTextBox "Presentation th"
        AXRole: AXRow
            AXRole: AXCell "Normal td"
                AXRole: AXStaticText "Normal td"
                    AXRole: AXInlineTextBox "Normal td"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "The row for "Explicit th" has a row role even if table has a presentation role because it has an explicit role."
            AXRole: AXInlineTextBox "The row for "Explicit th" has a row role even if table has a presentation role because it has an explicit role."
    AXRole: AXRow
        AXRole: AXGenericContainer
            AXRole: AXStaticText "Explicit th"
                AXRole: AXInlineTextBox "Explicit th"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "Implicit td"
            AXRole: AXInlineTextBox "Implicit td"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "The menu items except button have a static text role because it has a presentation role and is disabled."
            AXRole: AXInlineTextBox "The menu items except button have a static text role because it has a presentation role and is disabled."
        AXRole: AXLineBreak "
"
            AXRole: AXInlineTextBox "
"
        AXRole: AXStaticText "Button has a button role because it has an explicit role."
            AXRole: AXInlineTextBox "Button has a button role because it has an explicit role."
    AXRole: AXStaticText " I have a bike "
        AXRole: AXInlineTextBox " I have a bike "
    AXRole: AXButton "Click me"
    AXRole: AXStaticText " Male "
        AXRole: AXInlineTextBox " Male "
    AXRole: AXStaticText " Female"
        AXRole: AXInlineTextBox " Female"
    AXRole: AXGenericContainer
        AXRole: AXStaticText "The option A has a static text role because it has a presentation role and is disabled."
            AXRole: AXInlineTextBox "The option A has a static text role because it has a presentation role and is disabled."
        AXRole: AXLineBreak "
"
            AXRole: AXInlineTextBox "
"
        AXRole: AXStaticText "The option B has option role because it has an explicit role."
            AXRole: AXInlineTextBox "The option B has option role because it has an explicit role."
    AXRole: AXGroup
        AXRole: AXStaticText "A"
        AXRole: AXListBoxOption "B"
    AXRole: AXParagraph
        AXRole: AXStaticText "End of test"

PASS successfullyParsed is true

TEST COMPLETE

