How can Inkscape become the ideal tool for creating accessible SVG?
- a rant (dead link) on SVG and Accessibility given at the latest (year?) London SVGUG meeting with plenty of links. some concepts were addressed and alpha proof of concept code developed.
- Links to primary documentation on creating accessible SVG
- SVG and accessibility (somewhat out of date): authoring guidance, SVG 1.1 appendix
- Work of the W3C Accessibility task force: work statement, wiki
What Inkscape Does Well
Some accessibility features of SVG Inkscape inherits by default, such as having text stored as machine-readable text. Others require extra effort.
As of 0.91, Inkscape:
- Allows users to set alternative text (<title> and <desc>) for graphics content in the object properties dialog.
- Sets the document-level <title> element if the user has set a title in the metadata
- Supports logical grouping of elements, and allows <title> and <desc> to be set on the group
Recently pushed to the dev branch was a fix so that text-to-path stores the original text content in an aria-label attribute, which will go a long way to preserving the accessibility of that content.
There is currently a bug report regarding adding UI support for the core SVG accessibility features.
Two main issues (not yet implemented) are covered by that bug report:
- A document-level title should be required, but it is currently hard to set and there is no prompting for it.
- The language of the text (visible or alternative) needs to be easy to specify with the xml:lang attribute.
Language issues can get rather complex, and have benefits beyond accessibility, so there is a separate wiki page for them.
More advanced issues to consider:
- Ensuring that text elements are preserved in a logical reading order. This will be easier once z-index is supported, for now the aria-flowto attribute could be used to define the reading order. However, there would need to be a user interface for setting the reading order -- the order that elements are added to the graphic may not be the logical reading order.
- Adding WAI-ARIA widget roles for anything that has interactive scripting added to it.