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 27391 - Corrections for ATK
Summary: Corrections for ATK
Status: RESOLVED INVALID
Alias: None
Product: ARIA
Classification: Unclassified
Component: HTML AAM (show other bugs)
Version: 1.1
Hardware: PC Linux
: P2 normal
Target Milestone: ---
Assignee: steve faulkner
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-21 14:22 UTC by Joanmarie Diggs
Modified: 2018-05-03 21:19 UTC (History)
3 users (show)

See Also:


Attachments

Description Joanmarie Diggs 2014-11-21 14:22:30 UTC
I'm going to do these in multiple passes because some I need to give thought to. In the meantime, here are some easy ones:

* audio: ATK_ROLE_AUDIO
* blockquote: ATK_ROLE_BLOCK_QUOTE
* dd: ATK_ROLE_DESCRIPTION_VALUE
* dl: ATK_ROLE_DESCRIPTION_LIST
* dt: ATK_ROLE_DESCRIPTION_TERM
* pre: ATK_ROLE_SECTION
* tr: ATK_ROLE_TABLE_ROW
* video: ATK_ROLE_VIDEO

Some of the input types are going to need corrections (and possibly new API in ATK), but I'm pretty sure about:
* input (file upload): ATK_ROLE_BUTTON <-- probably for IA2 as well(?)

For one thing, it's normally a button, right? For another, as the new STATIC role docs say, "ATK_ROLE_STATIC should not be applied to widgets which are traditionally interactive...." So if it's not a button, it probably still isn't STATIC and we need to come up with something else.

Also, this might be worth a note:
* span - *almost always* not mapped. But if there is a need to expose it, e.g. <span onclick="foo()">clickable</span>, then it should be ATK_ROLE_STATIC.
Comment 1 steve faulkner 2014-11-21 14:59:51 UTC
Have updated

* audio: ATK_ROLE_AUDIO
* blockquote: ATK_ROLE_BLOCK_QUOTE
* dd: ATK_ROLE_DESCRIPTION_VALUE
* dl: ATK_ROLE_DESCRIPTION_LIST
* dt: ATK_ROLE_DESCRIPTION_TERM
* pre: ATK_ROLE_SECTION
* tr: ATK_ROLE_TABLE_ROW
* video: ATK_ROLE_VIDEO

commit https://github.com/w3c/aria/commit/73d820d9a590a884e09f5693462136658a1ee181

still need to review:

some of the input types are going to need corrections (and possibly new API in ATK), but I'm pretty sure about:
* input (file upload): ATK_ROLE_BUTTON <-- probably for IA2 as well(?)

For one thing, it's normally a button, right? For another, as the new STATIC role docs say, "ATK_ROLE_STATIC should not be applied to widgets which are traditionally interactive...." So if it's not a button, it probably still isn't STATIC and we need to come up with something else.

Also, this might be worth a note:
* span - *almost always* not mapped. But if there is a need to expose it, e.g. <span onclick="foo()">clickable</span>, then it should be ATK_ROLE_STATIC.
Comment 2 Joanmarie Diggs 2014-11-22 23:20:28 UTC
(In reply to Joanmarie Diggs from comment #0)

> Some of the input types are going to need corrections (and possibly new API
> in ATK), but I'm pretty sure about:
> * input (file upload): ATK_ROLE_BUTTON <-- probably for IA2 as well(?)
> 
> For one thing, it's normally a button, right? For another, as the new STATIC
> role docs say, "ATK_ROLE_STATIC should not be applied to widgets which are
> traditionally interactive...." So if it's not a button, it probably still
> isn't STATIC and we need to come up with something else.

Interesting: In Firefox, the widget is a button. In Chrome, the widget is a button. In Safari and Epiphany, however, the widget is a text input field. Bah.

I guess the spec text probably needs to say that the mapping is conditional based on the user agent's native support for that element.
Comment 3 Joanmarie Diggs 2015-03-12 20:39:50 UTC
(In reply to Joanmarie Diggs from comment #2)
> (In reply to Joanmarie Diggs from comment #0)
> 
> > Some of the input types are going to need corrections (and possibly new API
> > in ATK), but I'm pretty sure about:
> > * input (file upload): ATK_ROLE_BUTTON <-- probably for IA2 as well(?)
> > 
> > For one thing, it's normally a button, right? For another, as the new STATIC
> > role docs say, "ATK_ROLE_STATIC should not be applied to widgets which are
> > traditionally interactive...." So if it's not a button, it probably still
> > isn't STATIC and we need to come up with something else.
> 
> Interesting: In Firefox, the widget is a button. In Chrome, the widget is a
> button. In Safari and Epiphany, however, the widget is a text input field.
> Bah.
> 
> I guess the spec text probably needs to say that the mapping is conditional
> based on the user agent's native support for that element.

I stand by my above statement (conditional based on user agent's native support...). Having said that, it's now a button in WebKit!
Comment 4 Joanmarie Diggs 2015-04-24 17:35:53 UTC
(In reply to Joanmarie Diggs from comment #0)

> Also, this might be worth a note:
> * span - *almost always* not mapped. But if there is a need to expose it,
> e.g. <span onclick="foo()">clickable</span>, then it should be
> ATK_ROLE_STATIC.

Ping. The above is accurate, and not yet reflected here:
https://rawgit.com/w3c/aria/master/html-aam/html-aam.html#el-span

As for IA2, they are in a similar boat but I believe their mapping is for system text or text frame or whatever.
Comment 5 Joanmarie Diggs 2015-05-12 21:31:57 UTC
Alex Surkov just pointed out that address is mapped to ATK_ROLE_PARAGRAPH.

As a general rule, only paragraph elements should be mapped to ROLE_PARAGRAPH. Otherwise Orca's structural navigation by paragraph will jump to non-paragraphs, which is probably something Orca users are not expecting.

Mapping it to ATK_ROLE_SECTION seems like a better choice to me.
Comment 6 steve faulkner 2015-06-13 10:02:42 UTC
(In reply to Joanmarie Diggs from comment #4)
> (In reply to Joanmarie Diggs from comment #0)
> 
> > Also, this might be worth a note:
> > * span - *almost always* not mapped. But if there is a need to expose it,
> > e.g. <span onclick="foo()">clickable</span>, then it should be
> > ATK_ROLE_STATIC.
> 
> Ping. The above is accurate, and not yet reflected here:
> https://rawgit.com/w3c/aria/master/html-aam/html-aam.html#el-span
> 
> As for IA2, they are in a similar boat but I believe their mapping is for
> system text or text frame or whatever.

ok, so if event handler attached to element = ATK_ROLE_STATIC?
Comment 7 alexander surkov 2015-06-15 15:13:40 UTC
(In reply to Joanmarie Diggs from comment #5)
> Alex Surkov just pointed out that address is mapped to ATK_ROLE_PARAGRAPH.
> 
> Mapping it to ATK_ROLE_SECTION seems like a better choice to me.

iirc we agreed to map it into ATK_ROLE_SECTION, and I tweaked Firefox implementation and the spec to fit it.

(In reply to steve faulkner from comment #6)

> ok, so if event handler attached to element = ATK_ROLE_STATIC?

it depends on element display, if it's block then section, static for inlines
Comment 8 James Nurthen 2018-05-03 21:19:35 UTC
HTML AAM is no longer an ARIA Deliverable. If you wish to pursue this issue please file at https://github.com/w3c/html-aam/issues