Related to #852 - There is a layering issue with iOS VoiceOver. This was discovered in phetsims/gravity-force-lab#210 with @zepumph.
The screen reader virtual cursor can be on a Node that is behind another in the z-order. If a user gesture is made to initiate dragging of the Node that is in the back, the node in front will receive the input events. This is because the assistive device sends a pointer event at the location of the DOM element which is under the virtual cursor. But the the event target is the Display div. Scenery catches this event and dispatches it normally and so the top most interactive Node receives the event.
We should investigate if there is any way around this. Perhaps we can get information from the DOM event such as the DOM element under the virtual cursor which initiated the event. From here we can look up the trail to the Node the user intended to interact with.
Related to #852 - There is a layering issue with iOS VoiceOver. This was discovered in phetsims/gravity-force-lab#210 with @zepumph.
The screen reader virtual cursor can be on a Node that is behind another in the z-order. If a user gesture is made to initiate dragging of the Node that is in the back, the node in front will receive the input events. This is because the assistive device sends a pointer event at the location of the DOM element which is under the virtual cursor. But the the event target is the Display div. Scenery catches this event and dispatches it normally and so the top most interactive Node receives the event.
We should investigate if there is any way around this. Perhaps we can get information from the DOM event such as the DOM element under the virtual cursor which initiated the event. From here we can look up the trail to the Node the user intended to interact with.