This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 28695 - input(type attribute in the Time state) should not map to ROLE_SYSTEM_SPINBUTTON
Summary: input(type attribute in the Time state) should not map to ROLE_SYSTEM_SPINBUTTON
Status: RESOLVED FIXED
Alias: None
Product: ARIA
Classification: Unclassified
Component: HTML AAM (show other bugs)
Version: Future
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: steve faulkner
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-23 05:42 UTC by Julie Jeongeun Kim
Modified: 2015-06-24 08:20 UTC (History)
6 users (show)

See Also:


Attachments

Description Julie Jeongeun Kim 2015-05-23 05:42:18 UTC
4.4 HTML Element Role Mappings
input (type attribute in the Time state)

As I implements AX Role-mapping on chromium, I discussed some issue related to 'input (type attribute in the Time state)' with a reviewer, Dominic.
Here is the comment from him.
> The most important issue is that it has to work for users.
>
> Try this: create a webpage with <input type="time"> in it, then open Chrome
> Developer Tools. Click on the "Settings" button (Gear icon), then check the box
> labeled "Show user agent shadow DOM". Now inspect the time control and you'll
> see something like this:
> 
> <input type="time">
>   #shadow-root (user-agent)
>     <div pseudo="-webkit-datetime-edit" id="date-time-edit" datetimeformat="h:mm
> a">
>       <div pseudo="-webkit-datetime-edit-fields-wrapper">
>         <span role="spinbutton" aria-valuetext="11" aria-valuemin="1"
> aria-valuemax="12" aria-help="Hours" pseudo="-webkit-datetime-edit-hour-field"
> aria-valuenow="11">11</span>
>         <div pseudo="-webkit-datetime-edit-text">:</div>
>         <span role="spinbutton" aria-valuetext="59" aria-valuemin="0"
> aria-valuemax="59" aria-help="Minutes"
> pseudo="-webkit-datetime-edit-minute-field" aria-valuenow="59">59</span>
>         <div pseudo="-webkit-datetime-edit-text"> </div>
>         <span role="spinbutton" aria-valuetext="AM" aria-valuemin="1"
> aria-valuemax="2" aria-help="AM/PM" pseudo="-webkit-datetime-edit-ampm-field"
> aria-valuenow="1">AM</span>
>       </div>
>     </div>
>     <div pseudo="-webkit-clear-button" id="clear" style=""></div>
>     <div pseudo="-webkit-inner-spin-button" id="spin"></div>    
> 
> This is what's actually seen in the layout tree and accessibility tree. Though
> the web author only added one DOM element to the page, we actually end up with 4
> separate controls:
> 
> * An hour picker (spin button)
> * A minute picker (spin button)
> * An AM / PM picker (spin button)
> * A clear button (button, not currently accessible but probably should be)
> 
> From the point of view of assistive technology, there should be four separate
> controls on the page. They're all related and they're all grouped, but they're
> separate.
> 
> Mapping <input type=time> to ROLE_SYSTEM_SPINBUTTON basically says that the root
> of this subtree of elements should be a spin button - but it's not. It's a
> wrapper that has other elements inside.

So, we think that input (type attribute in the Time state) should have a group role
or something like IA2_ROLE_DATE_EDITOR, not just ROLE_SYSTEM_SPINBUTTON.
Comment 1 steve faulkner 2015-05-23 10:33:43 UTC
had a look into it and have updated mappings, 
http://rawgit.com/w3c/aria/master/html-aam/html-aam.html#el-input-time

what do you think?
Comment 2 Julie Jeongeun Kim 2015-05-23 15:33:22 UTC
Sounds reasonable to me.
Comment 3 Dominic Mazzoni 2015-05-24 05:00:55 UTC
That looks like a good explanation, thanks!
Comment 4 Julie Jeongeun Kim 2015-05-24 14:00:56 UTC
Hi Steve,
After I looked into it for a while, I have one thing I'd like to clarify.

According to the updated version,
MSAA+UIA : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
MSAA+IA2 : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
ATK: ATK_ROLE_SPINBUTTON or ROLE_PANEL.
AX: AXTimeField

I think three of them, MASS+UIA, MSAA+IA2 and ATK are consistent but AX it not.
In order to make it consistent with others,
it could be "AX: NSAccessibilityIncrementorRole(AXIncrementor) or NSAccessibilityGroupRole(AXGroup)”.
*NSAccessibilityIncrementorRole is used for SpinButtonRole on Mac.

But, the important thing is that only AX has the specific role for input-time differently from other platforms.
Even if other platforms have ROLE_DATE_EDITOR, IA2_ROLE_DATE_EDITOR and ATK_ROLE_DATE_EDITOR,
we could say that they are for input-date, not input-time.

My guess is that if there is specific role for input-time like Mac, it is a high priority and
if there is no specific role for input-time, SPIN Button and Grouping are proper.

I’d like to understand background correctly.
If I missed something, please let me.
Thanks,
Comment 5 alexander surkov 2015-05-29 12:59:59 UTC
I think there's confusion with names. MSAA 
ROLE_SYSTEM_SPINBUTTON is a text field [1]:

"The object represents a spin box, which is a control that allows the user to increment or decrement the value displayed in a separate "buddy" control that is associated with the spin box."

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/dd373608%28v=vs.85%29.aspx
Comment 6 steve faulkner 2015-06-13 10:35:32 UTC
(In reply to alexander surkov from comment #5)
> I think there's confusion with names. MSAA 
> ROLE_SYSTEM_SPINBUTTON is a text field [1]:
> 
> "The object represents a spin box, which is a control that allows the user
> to increment or decrement the value displayed in a separate "buddy" control
> that is associated with the spin box."
> 
> [1]
> https://msdn.microsoft.com/en-us/library/windows/desktop/dd373608%28v=vs.
> 85%29.aspx

what's the confusion?
Comment 7 steve faulkner 2015-06-13 10:36:57 UTC
(In reply to Julie Jeongeun Kim from comment #4)
> Hi Steve,
> After I looked into it for a while, I have one thing I'd like to clarify.
> 
> According to the updated version,
> MSAA+UIA : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
> MSAA+IA2 : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
> ATK: ATK_ROLE_SPINBUTTON or ROLE_PANEL.
> AX: AXTimeField
> 
> I think three of them, MASS+UIA, MSAA+IA2 and ATK are consistent but AX it
> not.
> In order to make it consistent with others,
> it could be "AX: NSAccessibilityIncrementorRole(AXIncrementor) or
> NSAccessibilityGroupRole(AXGroup)”.
> *NSAccessibilityIncrementorRole is used for SpinButtonRole on Mac.
> 
> But, the important thing is that only AX has the specific role for
> input-time differently from other platforms.
> Even if other platforms have ROLE_DATE_EDITOR, IA2_ROLE_DATE_EDITOR and
> ATK_ROLE_DATE_EDITOR,
> we could say that they are for input-date, not input-time.
> 
> My guess is that if there is specific role for input-time like Mac, it is a
> high priority and
> if there is no specific role for input-time, SPIN Button and Grouping are
> proper.
> 
> I’d like to understand background correctly.
> If I missed something, please let me.
> Thanks,

Hi Julie, are you proposing any chnage to the current spec text?
Comment 8 Julie Jeongeun Kim 2015-06-13 11:17:55 UTC
(In reply to steve faulkner from comment #7)
> (In reply to Julie Jeongeun Kim from comment #4)
> > Hi Steve,
> > After I looked into it for a while, I have one thing I'd like to clarify.
> > 
> > According to the updated version,
> > MSAA+UIA : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
> > MSAA+IA2 : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
> > ATK: ATK_ROLE_SPINBUTTON or ROLE_PANEL.
> > AX: AXTimeField
> > 
> > I think three of them, MASS+UIA, MSAA+IA2 and ATK are consistent but AX it
> > not.
> > In order to make it consistent with others,
> > it could be "AX: NSAccessibilityIncrementorRole(AXIncrementor) or
> > NSAccessibilityGroupRole(AXGroup)”.
> > *NSAccessibilityIncrementorRole is used for SpinButtonRole on Mac.
> > 
> > But, the important thing is that only AX has the specific role for
> > input-time differently from other platforms.
> > Even if other platforms have ROLE_DATE_EDITOR, IA2_ROLE_DATE_EDITOR and
> > ATK_ROLE_DATE_EDITOR,
> > we could say that they are for input-date, not input-time.
> > 
> > My guess is that if there is specific role for input-time like Mac, it is a
> > high priority and
> > if there is no specific role for input-time, SPIN Button and Grouping are
> > proper.
> > 
> > I’d like to understand background correctly.
> > If I missed something, please let me.
> > Thanks,
> 
> Hi Julie, are you proposing any chnage to the current spec text?

Hi Steve,
Previously I tried to map the role to the Group on Mac without understanding it deeply.
After I think that way above, I have no concern about the current version now.
Comment 9 steve faulkner 2015-06-13 11:26:27 UTC
(In reply to Julie Jeongeun Kim from comment #8)
> (In reply to steve faulkner from comment #7)
> > (In reply to Julie Jeongeun Kim from comment #4)
> > > Hi Steve,
> > > After I looked into it for a while, I have one thing I'd like to clarify.
> > > 
> > > According to the updated version,
> > > MSAA+UIA : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
> > > MSAA+IA2 : ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_GROUPING
> > > ATK: ATK_ROLE_SPINBUTTON or ROLE_PANEL.
> > > AX: AXTimeField
> > > 
> > > I think three of them, MASS+UIA, MSAA+IA2 and ATK are consistent but AX it
> > > not.
> > > In order to make it consistent with others,
> > > it could be "AX: NSAccessibilityIncrementorRole(AXIncrementor) or
> > > NSAccessibilityGroupRole(AXGroup)”.
> > > *NSAccessibilityIncrementorRole is used for SpinButtonRole on Mac.
> > > 
> > > But, the important thing is that only AX has the specific role for
> > > input-time differently from other platforms.
> > > Even if other platforms have ROLE_DATE_EDITOR, IA2_ROLE_DATE_EDITOR and
> > > ATK_ROLE_DATE_EDITOR,
> > > we could say that they are for input-date, not input-time.
> > > 
> > > My guess is that if there is specific role for input-time like Mac, it is a
> > > high priority and
> > > if there is no specific role for input-time, SPIN Button and Grouping are
> > > proper.
> > > 
> > > I’d like to understand background correctly.
> > > If I missed something, please let me.
> > > Thanks,
> > 
> > Hi Julie, are you proposing any chnage to the current spec text?
> 
> Hi Steve,
> Previously I tried to map the role to the Group on Mac without understanding
> it deeply.
> After I think that way above, I have no concern about the current version
> now.

thanks Julie,will close this bug then.