| This test verifies that text nodes inside complex base-appearance select options are exposed as accessible elements (e.g. for VoiceOver navigation), but only when the option has non-text descendants. | |
| PASS: select.isExpanded === true | |
| PASS: menu.role.toLowerCase().includes('menu') === true | |
| --- Simple option: text is NOT exposed as a StaticText child --- | |
| PASS: (menu.childAtIndex(0)).role.toLowerCase().includes('menuitem') === true | |
| AXTitle: Apple | |
| AXDescription: | |
| AXHelp: | |
| PASS: _menuItemText.includes('Apple') === true | |
| PASS: appleItem.childrenCount === 0 | |
| --- Complex option text includes all descendant text --- | |
| PASS: bananaItem.role.toLowerCase().includes('menuitem') === true | |
| AXTitle: Banana Foo Bar | |
| AXDescription: | |
| AXHelp: | |
| PASS: bananaText.includes('Banana') === true | |
| PASS: bananaText.includes('Foo') === true | |
| PASS: bananaText.includes('Bar') === true | |
| PASS: bananaHasStaticText === true | |
| --- Option with only a span wrapper: text is NOT exposed --- | |
| PASS: (menu.childAtIndex(2)).role.toLowerCase().includes('menuitem') === true | |
| AXTitle: Cherry | |
| AXDescription: | |
| AXHelp: | |
| PASS: _menuItemText.includes('Cherry') === true | |
| PASS: cherryItem.childrenCount === 0 | |
| PASS: cherryHasStaticTextAfterAdd === true | |
| --- Dynamic: remove the button from the option --- | |
| PASS: cherryHasStaticTextAfterRemove === false | |
| PASS: select.isExpanded === false | |
| PASS successfullyParsed is true | |
| TEST COMPLETE | |