Hi AOM folks,
I'm working on a proposal called close watchers which is intended to allow web developers to more easily handle "close signals" such as the Esc key or the Android back button in a uniform, cross-platform way.
My current explainer indicates that accessibility-tech "dismiss" gestures (so far I know about VoiceOver's) might want to trigger this path. But as pointed out in w3ctag/design-reviews#594 (comment), this seems to conflict with the plans in https://github.com/WICG/aom/blob/gh-pages/explainer.md#user-action-events-from-assistive-technology to have such gestures synthesize an Esc key press.
I'd be happy to remove the idea of AT directly firing close signals at CloseWatcher instances, and instead have the synthesized Esc key presses trigger the close signal indirectly instead. In both cases developers could use the CloseWatcher interface just fine to uniformize their handling of such close signals across platforms. But I wanted to get your take, as the experts in the space.
Concretely, the difference would be:
- Direct variant: making a dismiss gesture triggers any active
CloseWatcher. No esc key presses are synthesized.
- Indirect variant: making a dismiss gesture fires a key event for the Esc key press. If that is not canceled, then the key event in turn triggers any active
CloseWatcher.
For privacy my initial guess is that either option is reasonable, but a determined attacker could still distinguish AT users from non-AT users in some situations:
- For the direct variant, they would notice that
CloseWatcher is triggered without any corresponding key event. Since iOS has no other situation where this could occur, except for AT users, the site could detect AT usage
- For the indirect variant: any Esc keypress events on iPhones automatically indicate to the site an AT user, since Esc keypresses are otherwise impossible there
I don't know enough about dismiss gestures on other operating systems or devices to comment on those, but I suspect there's a similar tradeoff.
Hi AOM folks,
I'm working on a proposal called close watchers which is intended to allow web developers to more easily handle "close signals" such as the Esc key or the Android back button in a uniform, cross-platform way.
My current explainer indicates that accessibility-tech "dismiss" gestures (so far I know about VoiceOver's) might want to trigger this path. But as pointed out in w3ctag/design-reviews#594 (comment), this seems to conflict with the plans in https://github.com/WICG/aom/blob/gh-pages/explainer.md#user-action-events-from-assistive-technology to have such gestures synthesize an Esc key press.
I'd be happy to remove the idea of AT directly firing close signals at
CloseWatcherinstances, and instead have the synthesized Esc key presses trigger the close signal indirectly instead. In both cases developers could use theCloseWatcherinterface just fine to uniformize their handling of such close signals across platforms. But I wanted to get your take, as the experts in the space.Concretely, the difference would be:
CloseWatcher. No esc key presses are synthesized.CloseWatcher.For privacy my initial guess is that either option is reasonable, but a determined attacker could still distinguish AT users from non-AT users in some situations:
CloseWatcheris triggered without any corresponding key event. Since iOS has no other situation where this could occur, except for AT users, the site could detect AT usageI don't know enough about dismiss gestures on other operating systems or devices to comment on those, but I suspect there's a similar tradeoff.