This tests the heuristic to determine if a 'list' is really a list, or just being used for layout.

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


Ordered list is a list.
PASS axElement.role == 'AXRole: AXList' is true


Empty ordered list is not a list.
PASS axElement.role == 'AXRole: AXList' is false


Empty description list is not a list.
PASS axElement.role == 'AXRole: AXList' is false


Description list is a list.
PASS axElement.role == 'AXRole: AXDescriptionList' is true


ARIA role=list is a list.
PASS axElement.role == 'AXRole: AXList' is true


Empty ARIA list is not a list.
PASS axElement.role == 'AXRole: AXList' is false


ARIA list with one item is a list.
PASS axElement.role == 'AXRole: AXList' is true


Default styled Unordered list is a list, because it shows markers.
PASS axElement.role == 'AXRole: AXList' is true


Unordered list with more than 1 item and no style is not a list.
PASS axElement.role == 'AXRole: AXList' is false


Unordered list with 1 item and no style is not list.
PASS axElement.role == 'AXRole: AXList' is false


List with non list item children is not a list
PASS axElement.role == 'AXRole: AXList' is false


Unordered list with image for markers is a list - even if image fails to load.
PASS axElement.role == 'AXRole: AXList' is true


Unordered list with aria role and at least one aria list items is a list.
PASS axElement.role == 'AXRole: AXList' is true


Inline list elements with an aria role should be a list
PASS axElement.role == 'AXRole: AXList' is true


PASS successfullyParsed is true

TEST COMPLETE

