- From: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>
- Date: Mon, 19 Jan 2015 18:46:36 -0700
- To: public-svg-a11y@w3.org
- Cc: Richard Schwerdtfeger <schwer@us.ibm.com>
- Message-ID: <CAFDDJ7yPk_JucqZ0V9hVXmQa6epvoL52YGkmXkY_NVYjaNjbTQ@mail.gmail.com>
I've carefully reviewed Richard's draft spec on default SVG accessibility mappings. Below are general (and often nitpicky) comments on the language and scope of content. I'll send a separate email with detailed discussion of the default and allowed semantics. At this point, I'm mainly focused on outlining concerns; if others agree that those concerns are valid, I would of course be happy to help come up with alternatives! Best, Amelia BR __________________________________________________ Comments on SVG2 Accessibility API Mappings =============================== W3C Editor's Draft 16 January 2015 http://rawgit.com/w3c/aria/master/svg-aam/svg-aam.html General ------- Should we remove the `2` from the title? It is possible that this report will be finalized before anything titled "SVG2" is ready. Furthermore, we want to encourage user agents and authors to start using the API as soon as possible, irrespective of implementation status of other SVG2 features, and to retroactively apply it to SVG1/1.1 content. To make this document a stand-alone enhancement to SVG 1.1, perhaps we could include the normative text from SVG2 that specifically adds the ARIA 1 attributes to all SVG elements. Or would that be confusing the purpose of the document? More broadly, what *is* the purpose of the document? Is it only for implementers, or is it for authors as well? Will we be creating a separate document with guidance for authors? (Possibly as a graphics-related section of the main WAI-ARIA authoring practices note.) Many of my comments that follow relate to the fact that the language may be confusing for authors; if there will be a parallel, author-focused document that is less of an issue. Abstract -------- - Should have a clearer statement about the target audience (UA implementers vs document authors). - Should make it clearer that it extends/replaces the accessible name computation for SVG elements. - More generally, I would prefer to re-arrange to have the first sentence or two stand alone with the information about why this is important, moving the links to other documents farther down. 1.0 Introduction ---------------- - Not sure why the statement about showing/hiding GUI components is relevant. ATs need to access components that are always visible in a GUI, too. - There should be a paragraph about the fact that SVG 1 and 1.1 included elements for accessibility purposes (e.g. `<title>` and `<desc>`), but that to date there has been no formal guidance on how UAs should present this information to ATs, or how to integrate with other languages and validators that use the ARIA system. - I don't like the "Unlike earlier versions of SVG" statement re DOM and events. It suggests that earlier versions of SVG didn't have a clear DOM, when what you really mean is that SVG 2 updates the SVG DOM to DOM 3. - The reference to ARIA 1.1 as "a planned W3C recommendation" should make it clear that it is an update of an existing recommendation (ARIA 1). 1.1 Accessibility APIs ---------------------- - I think the distinction between "static" web pages and rich internet applications is not as useful as the distinction between semantic markup and custom web applications. The paragraph that starts "In the case of static Web pages" later discusses "UI elements that are known to be interactive", but that's somewhat buried for a reader skimming through. 1.2 The Accessibility Tree and the DOM Tree ------------------------------------------- no comments 2.0 Normative User Agent Implementation Requirements for SVG 2 -------------------------------------------------------------- This is all standard boilerplate; only comment is re the section title, and whether we want to restrict this document to SVG 2 or just say "for SVG". 3.0 Important terms ------------------- Accessibility Subtree:: Is an aria-owns relationship part of a subtree? Hidden:: Should make it clear that an element can be hidden implicitly via CSS or language semantics, not just by explicitly setting `aria-hidden`. Live region:: This sentence does not make sense: "Since these asynchronous areas are expected to update outside the user's area of focus, assistive technologies such as screen readers have either been unaware of their existence or unable to process them for the user." Maybe replace "are expected to" with "frequently"? Or else keep "expected to" and change the second clause to a forward-focused "ATs need to be made aware of the changes and how to process them...". Owned element/Owning element:: Should these definitions reference the accessibility tree/subtree definitions (or vice versa)? Role:: Should clarify that roles apply to objects in the accessibility tree / elements in the markup. Root WAI-ARIA node:: Do we really want to reference `<frameset>` as an example? Target element:: Clean-up code formatting. Valid IDREF:: I would change to "A reference to a target element in the same document whose ID matches the IDREF value." The current wording could be read as implying that two elements should have matching IDs. 4. Supporting Keyboard Navigation --------------------------------- If this document will be generalized to apply to all SVG, not just SVG2, then there should be some content added here about keyboard navigation and SVG 1.1 5. Mapping WAI-ARIA to Accessibility APIs ----------------------------------------- For 5.1, do you really mean "this section must conform" (as in, please ignore any content of this document that conflicts with the linked reference), or do you mean "SVG user agents must conform", similar to the following sections? For 5.2, is there a benefit in referencing the SVG2 spec as the "host language"? Wouldn't it make more sense to reference section 5.4.2 of this document, which defines the native markup semantics by mapping to roles? 5.4 Role mapping ---------------- I don't find the long list/table the most effective way to present this information. I think it would be clearer if the default semantics were defined by grouping all SVG elements into categories, and then defining the default and allowed roles for each category. An alphabetical list of elements could then be used to look up which category each element is in. This would avoid repeating the same text about checking for accessible name content again and again, and should make it easier to catch errors (like ellipse not having the same instructions as other shapes, in the current draft). See separate email for suggested categories and comments on the mappings themselves. 5.6 Special Processing Requiring Additional Computation ------------------------------------------------------- This section really needs to be expanded to be informative for authors. Both authors and implementors should be able to look at a single document and understand how `<title>` and `<desc>` interact with the corresponding ARIA attributes; which take precedence, does one replace the other or are they combined, and so on. I think we should also explicitly encourage authors to use `<title>` and `<desc>` (host language semantics), with the caveat that `aria-label` or `aria-labelledby` should be used instead of `<title>` if the tooltip value doesn't make a good accessible name or vice versa.
Received on Tuesday, 20 January 2015 01:47:03 UTC