<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="Tree update on XUL deck panel switching"> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> <script type="application/javascript" src="../common.js" /> <script type="application/javascript" src="../role.js" /> <script type="application/javascript" src="../states.js" /> <script type="application/javascript" src="../events.js" /> <script type="application/javascript"> <![CDATA[ function switchDeckPanel(aContainerID, aDeckID) { this.panelIndex = 0; this.container = getAccessible(aContainerID); this.deckNode = getNode(aDeckID); this.prevPanel = getAccessible(this.deckNode.selectedPanel); this.panelNode = this.deckNode.childNodes[this.panelIndex]; this.eventSeq = [ new invokerChecker(EVENT_HIDE, this.prevPanel), new invokerChecker(EVENT_SHOW, this.panelNode), new invokerChecker(EVENT_REORDER, this.container) ]; this.invoke = function switchDeckPanel_invoke() { var tree = { GROUPING: [ // role="group" { GROUPING: [ // groupbox, a selected panel #2 { PUSHBUTTON: [ ] } // button ] } ] }; testAccessibleTree(this.container, tree); this.deckNode.selectedIndex = this.panelIndex; } this.finalCheck = function switchDeckPanel_finalCheck() { var tree = { GROUPING: [ // role="group" { LABEL: [ // description, a selected panel #1 { TEXT_LEAF: [] } // text leaf, a description value ] } ] }; testAccessibleTree(this.container, tree); } this.getID = function switchDeckPanel_getID() { return "switch deck panel"; } } var gQueue = null; function doTest() { gQueue = new eventQueue(); gQueue.push(new switchDeckPanel("container", "deck")); gQueue.invoke(); // will call SimpleTest.finish(); } SimpleTest.waitForExplicitFinish(); addA11yLoadEvent(doTest); ]]> </script> <hbox flex="1" style="overflow: auto;"> <body xmlns="http://www.w3.org/1999/xhtml"> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=814836" title=" xul:deck element messes up screen reader"> Mozilla Bug 814836 </a> <p id="display"></p> <div id="content" style="display: none"> </div> <pre id="test"> </pre> </body> <vbox flex="1" id="container" role="group"> <deck id="deck" selectedIndex="1"> <description>This is the first page</description> <groupbox> <button label="This is the second page"/> </groupbox> </deck> </vbox> </hbox> </window>