- From: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>
- Date: Sun, 21 Jun 2015 14:55:09 -0600
- To: public-svg-a11y@w3.org
- Cc: Michael Cooper <cooper@w3.org>, Fred Esch <fesch@us.ibm.com>, Richard Schwerdtfeger <schwer@us.ibm.com>
- Message-ID: <CAFDDJ7xRj9z-q49TL3R5EEfBw8QVZu16Yw8bqx5s1qhJPoiBSA@mail.gmail.com>
I've filled out the remaining role descriptions and created examples for
each. Most of the examples are separate files (SVG or HTML). I embed
these as objects to provide a figure showing the result of the code.
Here's my current draft on rawgit, jumping straight to section 4 (Graphics
Roles):
- https://rawgit.com/AmeliaBR/aria/aria-graphics/aria/graphics.html#roles
That's a fork of the main repo under my account. I've submitted a pull
request, but recommended that it be pulled as a separate branch so that the
issues below can be worked on before merging into the main repo or Rich's
changes. If you think that's unncecessary, merge away. Either way,
whoever accepts the pull request, please reply to this message with the new
URL that people should be using.
Below I outline the main changes and issues up for debate.
There are now six roles listed:
- "figure" is pretty much as we've discussed it. The description is
based heavily on the HTML 5 figure element spec, with influence from the
ARIA region role.
- The example uses an HTML figure with an SVG that has labelled
sub-figures.
- "graphicaldoc" (graphical document) and "graphicalobject"
(graphical object) represent the structured graphic / structured image
category. I found that I could explain the purpose more clearly by
breaking it apart into the two use cases:
- The graphical doc role would be for a large document section for
which layout has semantic meaning. This is the role we would
sub-class for
chart, map, etc.
- The example uses a simple electrical circuit diagram
- The graphical object role would be for a cluster of elements that
together make up a meaningful whole (but you still want the ability to
navigate sub-components as accessible objects). This is the role we would
sub-class for chart-axis, map-legend, etc. I specifically call out the
difference from a group of distinct but related objects.
- The example is something fun, inspired by Chaals' brainstorming
example of a child's drawing of a house.
- "iconbutton" is my name for the icon role. We can switch back to
just "icon" if others prefer to keep it short, but I thought a more
explicit role name might be helpful.
- I've got some short code snippet examples, but not complete
embedded files.
- "img" is an edited version of the text from ARIA 1.1 for the img
role. I've added extra sentences distinguishing an img from the other
graphics roles.
- The main substantive change is that I've added a SHOULD statement:
an image should have a complete description. This is because we now have
separate roles (symbol and text) for the main use cases for
images where a
single alt text attribute is sufficient.
- I've also added an example, an HTML document with inline SVG, where
each <svg> element acts as an atomic image.
- "symbol" is pretty much as we have discussed it. I added a
sentence referencing
- I've got a few examples of symbols in HTML and SVG, including a
re-use of the electrical circuit diagram, and an adaptation of Fred's
blueprint diagram showing electrical outlets in a room (Fred: I added a
door to the room. I thought a room with no windows or doors, but six
electrical outlets, was a little too philosophical.)
Some general / stylistic comments and remaining issues:
- I've used semantic linebreaks [1] within the text descriptions. Some
of the existing text used automatically wrapping lines, some used hard
breaks which were too long for my screen. If we can try to be consistent
with breaking lines at natural phrases, it will be easier to track edits
made by different users.
- As we discussed, I added informative notes with fallback roles after
each description. I also used these fallback roles in the examples.
- I dropped the "g-" prefix for the role names because I found it
cumbersome and confusing. Unlike the dpub roles, I don't see a purpose in
calling these roles out separately. We want these roles to be integrated
in with core ARIA roles like group and img. When we start creating complex
chart taxonomies, then it would make sense to create a separate namespace
of roles, since they would be used in specific combinations. Of course,
I'm open to counter arguments.
- For the examples, if I was using SVG title and desc elements, I didn't
add aria-labelledby and aria-describedby pointing to them (since you
shouldn't need to!). This means that Internet Explorer is probably the
only current browser that will present the full names and descriptions to a
screen reader (even if it does so with the fallback roles).
- Where I've included an embedded object as a figure for an example, the
object element is included inside the <pre> block that defines the
example. If there is a better markup for this, please send me a link to
the syntax. Or change it yourself and save me the trouble!
- I was not able to get the automatic cross-references to the main ARIA
spec working. I'm currently just using the <rref> and <pref> shorthand
markup, which creates empty links to non-existent definitions on the same
page. If anyone wants to go in and fix this, please do.
- I haven't touched the introductory sections, since Rich was going to
work on those & I didn't want to cause a merging mess.
Best,
Amelia
[1]: http://rhodesmill.org/brandon/2012/one-sentence-per-line/
Received on Sunday, 21 June 2015 20:55:38 UTC