-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create description (was:definition) list role #504
Comments
Posting here as this is the latest relevant issue. Apologies in advance for its length, and should you read it, thank you: I find this one particularly complicated, if only because of the names of the roles and elements involved. TL;DR: the ARIA roles, Note that there are currently several issues related to the HTML Some definitionsHTML elementsHere are the definitions for the relevant elements in the HTML spec:
Note that a term-description group can include not only terms and their definitions, but also questions and answers, categories and topics, etc. ARIA rolesUntil new roles are created, here are the two relevant ARIA roles and their descriptions in the spec:
CommentsAssuming I've understood these element and role definitions correctly, as well as the current mappings for the
A proposalFor the sake of proposing some possible solutions, at least as a place to start, I suggest we could, as a first step, take the lead from ATK and AX, and create an ARIA Then I see two options.
Option 1If we go with option 1, reusing the existing roles as much as possible:
This would give us the following HTML to ARIA equivalencies/mappings:
Option 2Or perhaps the list semantic of term-description groups is such that some new or different roles make option 2 better:
This would leave us with the following scenarios of equivalencies/mappings:
A new HTML element?The interest in having equivalents in ARIA for all HTML semantics highlights a gap in HTML: While ARIA has the What about introducing a Or better, what about redefining the |
Option 2 makes the most sense to me but I feel that |
I personally think part of the problem was that with HTML, the <DL> element
was "renamed".
In HTML 4 (and earlier) it was *normatively called the Definition List* (
https://www.w3.org/TR/html401/struct/lists.html#h-10.3)
In HTML 5 however, it was (somewhat unofficially) renamed to "Description
List" (
https://www.w3.org/TR/2011/WD-html5-author-20110809/the-dl-element.html)
NOTE: HTML 5 normatively calls this the *dl element*, but in the associated
normative prose it parenthetically calls these types of name-value group
lists a description list, which gets us to where we are today. (One could
argue that it was a missed 'typo' in the transition from HTML 4.x to HTML
5, but in the end, does it really matter?)
********************
Looking over your proposal Jason, I prefer the direction proposed in Option
2, although I'd want to ensure that at least at the Accessibility API level
the HTML 4 and 5 specs arrive at the same semantic, English terms aside.
My reading of the HTML 5 spec definition of <dfn> however is that *<dl>*
and <dfn> should be semantically equal, although, as you note, <dfn> is
rarely used, and almost never correctly. (I wonder aloud if web platforms
might obsolete that as well, as they have done in the past with other
under-used or incorrectly used elements and attributes).
However, the spec is still somewhat unclear, but by examining the examples
you could conclude that <dfn> is a truncated <dl>, in that it too seemingly
contains both the term and the description, as illustrated in the HTML 5
spec
<https://www.w3.org/TR/2011/WD-html5-author-20110705/the-dfn-element.html>:
<dfn><abbr title="Garage Door Opener">GDO</abbr></dfn>
(where the value of the title attribute *IS* the definition of the
abbreviation GDO, per the spec) ...which I can also interpret
'semantically' as:
<dl>
<dt>GDO</dt>
<dd>Garage Door Opener</dd>
</dl>
(although rendered on screen quite differently, and used slightly
differently in context).
None the less, both <dfn> and <dl> appear to be 'parent' elements that
contain both the term and the definition, albeit using different methods,
but ultimately arriving at the same place: a defined term.
Does anyone else see it that way?
JF
…On Wed, Sep 19, 2018 at 10:38 AM, Harris Schneiderman < ***@***.***> wrote:
Option 2 makes the most sense to me but I feel that descriptiondetails is
a better name for the new role that dd would map to
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#504 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABK-c3LVbg22N76wl_daNI8cdGxQQ3bvks5ucmTkgaJpZM4LOb31>
.
--
*John Foliot* | Principal Accessibility Strategist
Deque Systems - Accessibility for Good
deque.com
|
I think the most compatible step forward based on other roles, like menu/menuitem is to create two new roles within the content of the list role:
These roles would only be allowed within the content of list and have the same pattern as menuitem, menutiemcheckbox and menuitemradio. I will work on branch based on the addition of listiemterm and listitemdescription. |
A related yet also slightly off-topic question/comment.
Is there a particular reason why the proposal is for such a compounded new
attribute? Why @listitemterm and not @listterm? I pose this question in
part based upon an observation (with no offense to Jon BTW...) - that Jon
made two typos of these terms in one email:
...menutiemcheckbox and menuitemradio.
...the addition of listiemterm and listitemdescription.
From a semantic perspective, would not a list term also be (by extension) a
list item? (i.e. List item, type="term")
Why do we need to make a compounded explicit naming notation when an
implied naming notation would likely suffice?
Signed, Curious in Austin
JF
…On Fri, Apr 12, 2019 at 9:50 AM Jon Gunderson ***@***.***> wrote:
I think the most compatible step forward based on other roles, like
menu/menuitem is to create two new roles within the content of the list
role:
- listitemterm
- listitemdescription
These roles would only be allowed within the content of list and have the
same pattern as menuitem, menutiemcheckbox and menuitemradio.
I will work on branch based on the addition of listiemterm and
listitemdescription.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#504 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABK-c1PoZGk_jj-cDI5PUq0nDPjDDORgks5vgJ0-gaJpZM4LOb31>
.
--
*John Foliot* | Principal Accessibility Strategist | W3C AC Representative
Deque Systems - Accessibility for Good
deque.com
|
Would someone be allowed to mix and match listitem, listitemterm and listitemdescription? My thought is no - and if not how would we prevent this from happening? |
I really think we need a different role for this. The mappings for |
It seems there is a strong preference for Jason's option 2. And, I agree that we need an ARIA equivalent to That said, since the primary argument for adding 3 roles instead of 1 is to provide clear list semantics for the children of |
@mcking65 I like the idea of using Can we move this discussion to Pull Request 951. |
HTML just makes this messy. I think a more clear structure would be (using short hand that omits the div tags and role attributes):
If we adopted a structure like that, we could reuse the term and definition roles; they would have additional meaning when they are a descendant of a listitem. You also would not need IDs to associate the definition with the term. |
@mcking65 I think the nesting of of Can we move this discussion to Pull Request 951. |
since 951 was merged, can this issue be closed? |
Editorial: input type=image should match type=reset|submit The allowed roles were made consistent in an earlier PR, but the other accompanying 'not recommended' guidance was missed. closes #504 expand on the 'if possible' paragraph to call out that it'd be better for authors to use the button element instead of these legacy (though still valid) input button types.
In 15 December 2016 teleconference create roles for HTML definition lists and its children.
Note this may be instead of the proposal to expand lists in #503.
The text was updated successfully, but these errors were encountered: