APA review of UI Events spec
Cynthia Shelly <[email protected]> Thu, 23 Jun 2016 21:39:44 +0000
| Newsgroups | gmane.comp.web.dom.general |
|---|---|
| Message-ID | <CY1PR03MB2348A5A216BF2D9AFDB525B1C62D0@CY1PR03MB2348.namprd03.prod.outlook.com> |
--_000_CY1PR03MB2348A5A216BF2D9AFDB525B1C62D0CY1PR03MB2348namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
I was asked to review the UI Events spec for the Accessible Platform Archit=
ecture (APA) working group.
TL;DR
* The spec in general looks good. Some minor suggestions below.
* An Events-AAM document describing how UI Events map to platform acc=
essibility api events would be useful (we'll help create one)
* There are features here that would make good WCAG techniques
Details
3.2 typo
Default actions<https://w3c.github.io/uievents/#default-action> are usually=
be performed
3.4 and 3.5 have some duplication with HTML5 spec, and aren't terribly clea=
r. It might be better to refer to HTML5 spec instead.
4.1 and 9
Keypress is deprecated. This is because there wasn't implementation. Even t=
hough this feels most parallel to click, keydown is more widely supported. =
I think this is ok, given the implementation issues.
5.1.2 Event types
Some of these are closely related to ARIA and AAPI events. It would be good=
to explore and document how these event sets relate, possibly by creating =
an Events Accessibility API Mapping document.
Error
Select
(load, unload, and resize are not as close)
5.2 focus events
Model is pretty rich. Further exploration needed about how these relate to =
ARIA and AAPI events.
User shifts focus
1 focusin: Sent before first target element receives focus
2 focus : Sent after first target element receives focus
User shifts focus
3 focusout: Sent before first target element loses focus
4 focusin: Sent before second target element receives focus
5 blur: Sent after first target element loses focus
6 focus" Sent after second target element receives focus
We are somewhat concerned about interactions between the two models. Have p=
ossible conflicts been discussed?
This specification does not define the behavior of focus events when intera=
cting with methods such as focus() or blur(). See the relevant specificatio=
ns where those methods are defined for such behavior.
5.2.4 focusin and focusout bubble, focus and blur don't. Interesting... Wha=
t's the use case here?
We need to make sure that the device-independent click event stays that way=
. Activation from 3.5 above is the same as click in the real world. Sugges=
t adding a sentence or paragraph about how hitting enter on an activatable =
element fires click on that element. This would tie in nicely with the (qui=
te good) accessibility note in this section.
5.5 Input Events
"Input events are sent as notifications whenever the DOM is being updated"
These used to only apply to form elements. Text should make it more clear t=
hat these apply to any element that is in an editable state.
5.7 composition events
Suggest adding some text or a use case describing how these can be used for=
Speech Input, in addition to IMEs.
9.4 mutation events are deprecated, refers to DOM4 Mutation Observer as rep=
lacement. Custom elements is also a way to do this, or use @is on existing =
element. This lets you watch a particular element. Suggest adding somethin=
g to the spec about this, or creating some WCAG techniques.
Here are the relevant APA meeting minutes http://www.w3.org/2016/06/22-apa-=
minutes.html#item07
--_000_CY1PR03MB2348A5A216BF2D9AFDB525B1C62D0CY1PR03MB2348namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m=3D"http://sc=
hemas.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-=
html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1976375974;
mso-list-type:hybrid;
mso-list-template-ids:357856610 67698689 67698691 67698693 67698689 676986=
91 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">I was asked to review =
the UI Events spec for the Accessible Platform Architecture (APA) working g=
roup.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">TL;DR<o:p></o:p></span=
></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-family:Symbol;color:#1F497=
D"><span style=3D"mso-list:Ignore">·<span style=3D"font:7.0pt "=
Times New Roman"">
</span></span></span><![endif]><span style=3D"color:#1F497D">The spec in ge=
neral looks good. Some minor suggestions below.<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-family:Symbol;color:#1F497=
D"><span style=3D"mso-list:Ignore">·<span style=3D"font:7.0pt "=
Times New Roman"">
</span></span></span><![endif]><span style=3D"color:#1F497D">An Events-AAM =
document describing how UI Events map to platform accessibility api events =
would be useful (we’ll help create one)<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-family:Symbol;color:#1F497=
D"><span style=3D"mso-list:Ignore">·<span style=3D"font:7.0pt "=
Times New Roman"">
</span></span></span><![endif]><span style=3D"color:#1F497D">There are feat=
ures here that would make good WCAG techniques<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">Details<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal">3.2 typo<o:p></o:p></p>
<p class=3D"MsoNormal"><a href=3D"https://w3c.github.io/uievents/#default-a=
ction"><span lang=3D"EN">Default actions</span></a>
<b><span lang=3D"EN">are usually be performed</span></b><span lang=3D"EN"> =
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN" style=3D"color:#1F497D"><o:p> =
;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">3.4 <span style=3D"color:#1F497D">=
and 3.5 have some duplication with HTML5 spec, and aren’t terribly cl=
ear. It might be better to refer to HTML5 spec instead.</span><o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">4.1 and 9<o:p></o:p></p>
<p class=3D"MsoNormal">Keypress is deprecated. This is because there wasn&#=
8217;t implementation. Even though this feels most parallel to click, keydo=
wn is more widely supported. I think this is ok, given the implementation i=
ssues.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">5.1.2 Event types<o:p></o:p></p>
<p class=3D"MsoNormal">Some of these are closely related to ARIA and AAPI e=
vents. It would be good to explore and document how these event sets relate=
, possibly by creating an Events Accessibility API Mapping document.
<o:p></o:p></p>
<p class=3D"MsoNormal">Error<o:p></o:p></p>
<p class=3D"MsoNormal">Select<o:p></o:p></p>
<p class=3D"MsoNormal">(load, unload, and resize are not as close)<o:p></o:=
p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">5.<span lang=3D"EN">2 focus events<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN" style=3D"color:#1F497D"><o:p> =
;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">Model is pretty rich. Further expl=
oration needed about how these relate to ARIA and AAPI events.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"> &nbs=
p; &=
nbsp; User shifts focus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">1 &n=
bsp; focusin: Sent before first target element rece=
ives focus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">2 &n=
bsp; focus : Sent after first target el=
ement receives focus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"> &nbs=
p; &=
nbsp; User shifts focus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">3 &n=
bsp; focusout: Sent before first target element los=
es focus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">4 &n=
bsp; focusin: Sent before second target element rec=
eives focus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">5 &n=
bsp; blur: Sent after first target element loses fo=
cus
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">6 &n=
bsp; focus” Sent after second target element =
receives focus<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN" style=3D"color:#1F497D"><o:p> =
;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">We are somewhat concerned about in=
teractions between the two models. Have possible conflicts been discussed?<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">This specification does not define=
the behavior of focus events when interacting with methods such as
</span>focus()<span lang=3D"EN"> or </span>blur()<span lang=3D"EN">. See th=
e relevant specifications where those methods are defined for such behavior=
.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">5.2.4 focusin and focusout bubble,=
focus and blur don’t. Interesting… What’s the use case h=
ere?
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">We need to make sure that the devi=
ce-independent click event stays that way. Activation from 3.5 above is the=
same as click in the real world. Suggest adding a sentence or paragr=
aph about how hitting enter on an activatable
element fires click on that element. This would tie in nicely with the (qu=
ite good) accessibility note in this section.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">5.5 Input Events<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN">“Input events are sent as no=
tifications whenever the DOM is being updated”<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">These used to only apply to form e=
lements. Text should make it more clear that these apply to any element tha=
t is in an editable state.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">5.7 composition events<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">Suggest adding some text or a use =
case describing how these can be used for Speech Input, in addition to IMEs=
.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">9.4 mutation events are deprecated=
, refers to DOM4 Mutation Observer as replacement. Custom elements is also =
a way to do this, or use @is on existing element. This lets you watch a par=
ticular element. Suggest adding something
to the spec about this, or creating some WCAG techniques.<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p> </o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN">Here are the relevant APA meeting =
minutes <a href=3D"http://www.w3.org/2016/06/22-apa-minutes.html#item07">
http://www.w3.org/2016/06/22-apa-minutes.html#item07</a> <o:p></o:p></span>=
</p>
</div>
</body>
</html>
--_000_CY1PR03MB2348A5A216BF2D9AFDB525B1C62D0CY1PR03MB2348namp_--