a
2

a
2

a

3
a

2
a
e

2
sub

2
sup

2
sub
sup

3
under

3
over

3
under
over

3	2	1 
This tests ensures that Mac specific attributes and roles for MathML elements work as expected.

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


PASS row.role is 'AXRole: AXGroup'
PASS row.subrole is 'AXSubrole: AXMathRow'
PASS row.childAtIndex(0).subrole is 'AXSubrole: AXMathIdentifier'
PASS row.childAtIndex(0).childAtIndex(0).stringValue is 'AXValue: a'
PASS row.childAtIndex(1).subrole is 'AXSubrole: AXMathNumber'
PASS row.childAtIndex(1).childAtIndex(0).stringValue is 'AXValue: 2'
PASS fraction.subrole is 'AXSubrole: AXMathFraction'
PASS fractionDenominator.subrole is 'AXSubrole: AXMathNumber'
PASS fractionDenominator.childAtIndex(0).stringValue is 'AXValue: 2'
PASS fractionDenominator.isEqual(accessibilityController.accessibleElementById('fractionDenominator')) is true
PASS fractionNumerator.subrole is 'AXSubrole: AXMathIdentifier'
PASS fractionNumerator.childAtIndex(0).stringValue is 'AXValue: a'
PASS fractionNumerator.isEqual(accessibilityController.accessibleElementById('fractionNumerator')) is true
PASS sqrt.role is 'AXRole: AXGroup'
PASS sqrt.subrole is 'AXSubrole: AXMathSquareRoot'
PASS sqrtRadicand.subrole is 'AXSubrole: AXMathIdentifier'
PASS sqrtRadicand.childAtIndex(0).stringValue is 'AXValue: a'
PASS sqrtRadicand.isEqual(accessibilityController.accessibleElementById('sqrtRadicand')) is true
PASS root.role is 'AXRole: AXGroup'
PASS root.subrole is 'AXSubrole: AXMathRoot'
PASS rootIndex.isEqual(accessibilityController.accessibleElementById('rootIndex')) is true
PASS rootRadicand.isEqual(accessibilityController.accessibleElementById('rootRadicand')) is true
PASS fenced.role is 'AXRole: AXGroup'
PASS fenced.subrole is 'AXSubrole: AXMathFenced'
PASS fenced.stringAttributeValue('AXMathFencedOpen') is '{'
PASS fenced.stringAttributeValue('AXMathFencedClose') is '}'
PASS child.stringValue is 'AXValue: {'
PASS child.childAtIndex(0).stringValue is 'AXValue: 2'
PASS child.stringValue is 'AXValue: ,'
PASS child.childAtIndex(0).stringValue is 'AXValue: a'
PASS child.stringValue is 'AXValue: ,'
PASS child.childAtIndex(0).stringValue is 'AXValue: e'
PASS child.stringValue is 'AXValue: }'
PASS sub.role is 'AXRole: AXGroup'
PASS sub.subrole is 'AXSubrole: AXMathSubscriptSuperscript'
PASS subBase.subrole is 'AXSubrole: AXMathIdentifier'
PASS subSub.subrole is 'AXSubrole: AXMathText'
PASS subBase.isEqual(accessibilityController.accessibleElementById('subBase')) is true
PASS subSub.isEqual(accessibilityController.accessibleElementById('subSub')) is true
PASS sup.role is 'AXRole: AXGroup'
PASS sup.subrole is 'AXSubrole: AXMathSubscriptSuperscript'
PASS supBase.subrole is 'AXSubrole: AXMathIdentifier'
PASS supSup.subrole is 'AXSubrole: AXMathText'
PASS supBase.isEqual(accessibilityController.accessibleElementById('supBase')) is true
PASS supSup.isEqual(accessibilityController.accessibleElementById('supSup')) is true
PASS subsup.role is 'AXRole: AXGroup'
PASS subsup.subrole is 'AXSubrole: AXMathSubscriptSuperscript'
PASS subsupBase.subrole is 'AXSubrole: AXMathIdentifier'
PASS subsupSup.subrole is 'AXSubrole: AXMathText'
PASS subsupSub.subrole is 'AXSubrole: AXMathText'
PASS subsupBase.isEqual(accessibilityController.accessibleElementById('subsupBase')) is true
PASS subsupSub.isEqual(accessibilityController.accessibleElementById('subsupSub')) is true
PASS subsupSup.isEqual(accessibilityController.accessibleElementById('subsupSup')) is true
PASS under.role is 'AXRole: AXGroup'
PASS under.subrole is 'AXSubrole: AXMathUnderOver'
PASS underBase.subrole is 'AXSubrole: AXMathIdentifier'
PASS underUnder.subrole is 'AXSubrole: AXMathText'
PASS underUnder.isEqual(accessibilityController.accessibleElementById('underUnder')) is true
PASS over.role is 'AXRole: AXGroup'
PASS over.subrole is 'AXSubrole: AXMathUnderOver'
PASS overBase.subrole is 'AXSubrole: AXMathIdentifier'
PASS overOver.subrole is 'AXSubrole: AXMathText'
PASS overBase.isEqual(accessibilityController.accessibleElementById('overBase')) is true
PASS overOver.isEqual(accessibilityController.accessibleElementById('overOver')) is true
PASS underover.role is 'AXRole: AXGroup'
PASS underover.subrole is 'AXSubrole: AXMathUnderOver'
PASS underOverBase.subrole is 'AXSubrole: AXMathIdentifier'
PASS underOverUnder.subrole is 'AXSubrole: AXMathText'
PASS underOverOver.subrole is 'AXSubrole: AXMathText'
PASS underOverBase.isEqual(accessibilityController.accessibleElementById('underOverBase')) is true
PASS underOverUnder.isEqual(accessibilityController.accessibleElementById('underOverUnder')) is true
PASS underOverOver.isEqual(accessibilityController.accessibleElementById('underOverOver')) is true
PASS table.role is 'AXRole: AXGroup'
PASS table.subrole is 'AXSubrole: AXMathTable'
PASS row.subrole is 'AXSubrole: AXMathTableRow'
PASS cell.subrole is 'AXSubrole: AXMathTableCell'
PASS cell.childAtIndex(0).subrole is 'AXSubrole: AXMathIdentifier'
PASS successfullyParsed is true

TEST COMPLETE

