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 16652 - aria-checked mapping issues raised by Alex
Summary: aria-checked mapping issues raised by Alex
Status: RESOLVED FIXED
Alias: None
Product: ARIA
Classification: Unclassified
Component: Core AAM (show other bugs)
Version: 1.0
Hardware: PC All
: P1 normal
Target Milestone: ---
Assignee: Andi Snow-Weaver
QA Contact: ARIA UA Implementors
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-06 16:27 UTC by Andi Snow-Weaver
Modified: 2012-07-31 19:54 UTC (History)
1 user (show)

See Also:


Attachments

Description Andi Snow-Weaver 2012-04-06 16:27:03 UTC
5.5.1. State and Property Mapping Table
(http://www.w3.org/WAI/PF/aria-implementation/#mapping_state-property_table):
aria-checked="false" (state) Expose object attribute checkable:true
aria-checked is undefined (state)		 Not mapped

6.2. Author Errors
http://www.w3.org/WAI/PF/aria-implementation/#document-handling_author-errors:

If a WAI-ARIA property contains an unknown or disallowed value, the
user agent SHOULD expose to platform accessibility APIs as follows:
    1) When exposing as an object attribute, expose the unknown value
— do not vet it against possible values.
    2) When exposing as a platform API Boolean state, treat "",
"undefined" or no attribute present as false. Treat any other value as
true.
    3) Otherwise, ignore the value and treat the property as not present

Technically aria-checked is exposed as "checkable" object attribute on
IA2 and ATK what requires UA to expose unknown value per 1) (bw, it's
not clear what is unknown value because a property can contain
"unknown or disallowed value"). Role mapping requires the
role="checkbox" to be exposed with "checkable:true" attribute (per
5.4.1. Role Mapping Table) so we run into collision if
aria-checked="wrongvalue" is specified.

It sounds that "checkable:true" should be treated as API Boolean
state. So true value is "checkable:true", false value is no
"checkable" attribute. I think the wording should be changed to make
it clear.

Thanks.
Alex.
Comment 1 David Bolter 2012-04-24 16:10:47 UTC
Andi, what does "aria-checked is undefined (state)" mean? Can you give an example in markup?
Comment 2 David Bolter 2012-06-26 15:55:50 UTC
Emailing Alexander (who is on vacation ATM).
Comment 3 Andi Snow-Weaver 2012-07-23 18:28:55 UTC
From May 24th, 2012, UAI TF Meeting: 

DB: what does aria-checked is undefined mean?

AS: it means it's a role such as checkbox or radiobutton but aria-checked is not specified

DB: FF would default to "false" if it's not specified
... for aria-checked undefined, we have "not mapped" all the way across
... FF & IE would map as if aria-checked="false" but wouldn't expose object attribute
... would clear the states but not expose object attributes

AS: leaves it as "not mapped" for UIA

CS: think it is "not mapped" for UIA

assign bug to Cynthia
Comment 4 Cynthia Shelly 2012-07-27 21:41:41 UTC
(In reply to comment #3)
> From May 24th, 2012, UAI TF Meeting: 
> 
> DB: what does aria-checked is undefined mean?
> 
> AS: it means it's a role such as checkbox or radiobutton but aria-checked is
> not specified
> 
> DB: FF would default to "false" if it's not specified
> ... for aria-checked undefined, we have "not mapped" all the way across
> ... FF & IE would map as if aria-checked="false" but wouldn't expose object
> attribute
> ... would clear the states but not expose object attributes
> 
> AS: leaves it as "not mapped" for UIA
> 
> CS: think it is "not mapped" for UIA
> 
> assign bug to Cynthia


Implement the Toggle pattern and set Toggle.ToggleState to Off(0)

So, yes it is mapped