- From: Joanmarie Diggs <jdiggs@igalia.com>
- Date: Mon, 18 Jul 2016 15:11:15 -0400
- To: James Craig <jcraig@apple.com>
- Cc: ARIA Working Group <public-aria@w3.org>, Richard Schwerdtfeger <richschwer@gmail.com>
Hey James.
As has been subsequently stated, Rich has a typo (doc-pagelist; not
doc-panlist). However, that is just one example where some other
non-generic role is being subclassed. If you look at the DPub ARIA role
definitions [1], you'll see that two roles subclass Navigation, two
subclass Note, two subclass listitem, there's a set which subclass
Landmark, then all the links. Some are group-like though....
Since I have to implement this for my platform anyway, last week I spent
a bit of time working on this in WebCore. My (local-branch-only) has a
DPub-specific version of the roles-exposed.html layout test. Below are
the mappings that result for OS X. And those mappings are what happens
if we set the role based on the superclass role as you described. In
addition, for your platform, if the author hasn't provided a value for
aria-roledescription, I set the AXRoleDescription value based on the
DPub role. I did this because this is what Chris had suggested.
As you'll see below, there are quite a few cases where the AXSubrole is
nil. And where that's not the case, the value is coming from the role;
it's not being set specifically for DPub ARIA.
All of this said, 1) this is a work-in-progress. 2) I've put this work
on hold because I saw your response to make most things an AXGroup with
no subrole and with "group" as the AXRoleDescription. And if that's
really what your platform expects.... Well.... Clearly I failed. ;)
I'll wait until you and the DPub task force sort this all out.
--joanie
[1] https://rawgit.com/w3c/aria/master/aria/dpub.html#role_definitions
================ Joanie's (Revised) Stab at the Mappings ===============
div[role=doc-abstract]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: abstract
div[role=doc-acknowledgments]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: acknowledgments
div[role=doc-afterword]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: afterword
div[role=doc-appendix]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: appendix
div[role=doc-backlink]
AXRole: AXLink
AXSubrole:
AXRoleDescription: back link
div[role=doc-biblioentry][not inside list]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: bibliography entry
div[role=doc-biblioentry][inside list]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: bibliography entry
div[role=doc-bibliography]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: bibliography
div[role=doc-biblioref]
AXRole: AXLink
AXSubrole:
AXRoleDescription: bibliography reference
div[role=doc-chapter]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: chapter
div[role=doc-colophon]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: colophon
div[role=doc-conclusion]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: conclusion
div[role=doc-cover]
AXRole: AXImage
AXSubrole:
AXRoleDescription: cover
div[role=doc-credit]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: credit
div[role=doc-credits]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: credits
div[role=doc-dedication]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: dedication
div[role=doc-endnote][not inside list]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: endnote
div[role=doc-endnote][inside list]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: endnote
div[role=doc-endnotes]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: endnotes
div[role=doc-epigraph]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: epigraph
div[role=doc-epilogue]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: epilogue
div[role=doc-errata]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: errata
div[role=doc-example]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: example
div[role=doc-footnote]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: footnote
div[role=doc-foreword]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: foreword
div[role=doc-glossary]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: glossary
div[role=doc-glossref]
AXRole: AXLink
AXSubrole:
AXRoleDescription: glossary reference
div[role=doc-index]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: index
div[role=doc-introduction]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: introduction
div[role=doc-noteref]
AXRole: AXLink
AXSubrole:
AXRoleDescription: note reference
div[role=doc-notice]
AXRole: AXGroup
AXSubrole: AXDocumentNote
AXRoleDescription: notice
div[role=doc-pagebreak]
AXRole: AXSplitter
AXSubrole:
AXRoleDescription: page break
div[role=doc-pagelist]
AXRole: AXGroup
AXSubrole: AXLandmarkNavigation
AXRoleDescription: page list
div[role=doc-part]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: part
div[role=doc-preface]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: preface
div[role=doc-prologue]
AXRole: AXGroup
AXSubrole: AXLandmarkRegion
AXRoleDescription: prologue
div[role=doc-pullquote]
AXRole:
AXSubrole:
AXRoleDescription:
div[role=doc-qna]
AXRole: AXGroup
AXSubrole:
AXRoleDescription: questions and answers
div[role=doc-subtitle]
AXRole: AXHeading
AXSubrole:
AXRoleDescription: subtitle
div[role=doc-tip]
AXRole: AXGroup
AXSubrole: AXDocumentNote
AXRoleDescription: tip
div[role=doc-toc]
AXRole: AXGroup
AXSubrole: AXLandmarkNavigation
AXRoleDescription: table of contents
==============================================================================
On 07/18/2016 01:46 PM, James Craig wrote:
>> What about things like doc-panelist whose superclass is “navigation”?
>
> I don't see that in the draft, but I assume it could be mapped like its
> superclass "navigation" role.
>
> If that role is intended to read as "pane list", it looks like the word
> "panelist", aka a human participant in a panel. The DPUB group should
> consider changing it to avoid ambiguity.
>
> We would do the same superclass mapping with the SVG "graphics-document"
> role.
>
>>>> graphics-document
>>>
>>> Same as "document" role.
>>>
>>> AXRole: AXGroup
>>> AXSubrole: AXDocument
>>> AXRoleDescription: 'document'
Received on Monday, 18 July 2016 19:11:52 UTC