phetsims / scenery

Scenery is an HTML5 scene graph.
http://scenerystack.org/
MIT License
55 stars 12 forks source link

DisplayedProperty should support displaying through PDOM tree too #1167

Open zepumph opened 3 years ago

zepumph commented 3 years ago

Discovered while working on https://github.com/phetsims/tambo/issues/131. @jonathanolson and I see a bug in DisplayedProperty where if a Node is displayed through the PDOM (through pdomOrder), but is hidden through the main instance tree, then DisplayedProperty won't be correct. I wrote some unit tests for this over in https://github.com/phetsims/tambo/issues/131 but couldn't get it running. For now I will leave some lines of code commented out, with TODOs to this issue.

zepumph commented 3 years ago

@jonathanolson, can you please comment back in each line linked to this issue (4 total), and note the failing test. I can't really see what is going on. Can you give guidance, or perhaps we can debug together so that I could gain some tools for debugging instance/pdomInstance trees.

jonathanolson commented 3 years ago

Checking a few debugging bits. The relevant pdom instance on aNode has invisibleCount=1, so it's set its peer to invisible and is showing up as NOT visible due to that.

jonathanolson commented 3 years ago

The code seems to explicitly count something as invisible if its normal trail has an invisible node, so the test seems correct.

zepumph commented 3 years ago

Gotcha. Thanks! Then the work we did this morning will never work to expose a Node that is displayed in the PDOM but not visible in the instance tree. Perhaps that isn't possible? I don't know. I'll need to think about this more.