- From: Fred Esch <fesch@us.ibm.com>
- Date: Fri, 20 May 2016 12:27:06 -0400
- To: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>
- Cc: SVG-A11y TF <public-svg-a11y@w3.org>
- Message-Id: <20160520163755.AE6DEB2052@b01ledav03.gho.pok.ibm.com>
Everyone if you have an opinion or issue with the changes please respond on
list if possible so we can think about it ahead of time.
Amelia,
Can you list the open issues (not typo fixes) so we can capture them for
the agenda?
I disagree that cartographers would use a single object for mapping objects
with multiple disjoint parts - like islands. There are several reasons for
not using a single polygon in a vector product:
Data is not collected as a single polygon
Generalization is done for each scale
Generalization includes simplifying polygons and dropping small features
(ie islands)
When you have a zoomable map, you may use a switch to drop small
features (ie islands)
Creating a single polygon might impact you ability to support all your
requirements (ie making all navigation hazards a single polygon would
not help marine navigation avoid them)
You may see cases where maps have been scanned and a single polygon is
produced for a complex object. But I doubt any organization that produces
vector map products would do that. That said, you may find feature parts,
like an elevation contour which can include disjoint parts as a single
object. It all depends on the requirements and usage.
Regards,
Fred Esch
Watson, IBM, W3C
Accessibility
IBM Watson Watson Release Management and Quality
From: Amelia Bellamy-Royds <amelia.bellamy.royds@gmail.com>
To: Fred Esch/Arlington/IBM@IBMUS
Cc: SVG-A11y TF <public-svg-a11y@w3.org>
Date: 05/19/2016 05:08 PM
Subject: Re: SVG AAM Data and rendering - Amelia's changes review part 2
(I touched on this topic in my reply to Fred's first email [1], but it's
worth more careful discussion.)
The guiding role for creating the accessibility tree is that it should
reflect the content as able-bodied users experience it. If an author wants
to present a complete data set including missing data, they need to make
that content available to all users, not hide it in the markup of a
graphic.
The references to "rendered elements" were added to remove a lot of the
complexity from previous drafts. It allows us to remove all sorts of
explicit rules for different cases. Some elements are never rendered,
other elements are not rendered because of a never-rendered ancestor, other
elements are not rendered because of conditional processing attributes
and/or a switch element, and other elements are not rendered because of
display: none. By referencing the new SVG 2 definitions of "rendered
element" and "non-rendered element", we cover all these cases, and any
future ones, with a single word.
Elements can be invisible and yet still be rendered from the perspective of
the user agent. Some invisible elements are considered hidden from
assistive technologies, some are not. The rules for determining whether
something is hidden are based on the existing pointer-events property, and
only include properties with discrete keyword values for the invisible
state (visibility: hidden and fill/stroke: none).
These rules are much simpler than the rules user agents currently use to
determine whether HTML content is hidden or not. Properties you would
likely to animate, such as opacity and geometry (width, height, etc), are
not used to determine if something is hidden.
Invisibility can be over-ridden by adding interactivity, or by adding
aria-hidden="false".
Non-rendered elements are never interactive. ARIA theoretically allows
non-rendered elements to be included with aria-hidden="false", but this is
really problematic for user agents, and ARIA currently warns against it.
All that said:
I would be willing to remove the dependence on fill/stroke: none. It adds
a lot of extra complexity for what are likely to be relatively rare use
cases (an author using these properties to hide content). Even as I was
writing this, I realized an additional complication that I had not factored
in: markers. A path can have no fill, no stroke, but still be visible
because of markers. (I've pushed edits for that).
I'm interested in other opinions: should we keep the rules simple, even if
it means that some elements are not hidden as the author intended?
[1]: https://lists.w3.org/Archives/Public/public-svg-a11y/2016May/0024.html
On 19 May 2016 at 07:40, Fred Esch <fesch@us.ibm.com> wrote:
All,
The SVG AAM suggests that something must be rendered to the screen in
order for it to be passed to the accessibility tree. In section 5.1.2
Including Elements in the Accessibility Tree it states. (Yellow
highlighting and bold italics on word rendered is my emphasis).
SVG user agents MUST provide an accessible object in the accessibility
tree for rendered SVG elements that meet any of the following criteria,
unless they are excluded from the accessibility tree per the rules in
Excluding Elements from the Accessibility Tree
And in section 5.1.1 Excluding Elements from the Accessibility Tree it
states:
For the purpose of SVG, an element is considered hidden if it is neither
visible nor interactive, and is therefore not perceivable to visual
users. User agents SHOULD NOT expose to accessibility APIs any element
that is hidden in this sense. This includes graphics elements that have
the following computed style values, unless the element can receive user
input (pointer events or keyboard focus) as described under Including
Elements in the Accessibility Tree:
a value of hidden for the visibility property
a value of none for both the fill and stroke properties of
text or shape elements
Note the last bullet states if shape's fill is none and the shape's
stroke is none - the shape (and it's associated data) should not be
passed to the accessibility tree.
I do not believe being rendered should be a factor on whether something
is passed to the accessibility tree or not. If a user adds an aria-label
to a shape that has a stroke of none and fill of none, the
data/aria-label may still be important information for the user. Missing
data and no response data might not rendered on a chart. When missing/no
response data is not rendered, it does not mean a visual
graphic/chart/map user won't be aware of the missing/no response data and
isn't prevented from being aware of the significance of the missing/no
response data. Here is an example, you have a monitoring system that
plots a dot for the value of a sensor at every time interval t. Just
before time 23t connection with the sensor is broken and the value
recorded in the log is - 23t missing. Since the data is missing, a dot is
added to the SVG graphic with a stroke and fill of none and an aria-label
23 t (missing). A visual user of the monitor can see that at 23t through
28t there is a gap in reporting from the sensor and can verify this by
looking at the log. Someone using the accessibility tree would not know
what happened between 23t through 28t if the data associated with the dot
(with fill none and stroke none) were not passed to the accessibility
tree. Another example, an aeronautical chart with a blank space in it,
lets the pilot know that the area has not been mapped and therefore the
pilot will not know how many vertical obstructions exist in the area and
won't know the heights of vertical obstructions in the area. Missing data
can be very important to a user.
The purpose of most informational graphics is to convey information and
for graphs and maps the purpose is to convey data to a user through
visual means. Often important information is not rendered but can be put
in the SVG. All important information needs to be passed to accessibility
tree whether rendered or not.
I suggest we remove dependence on whether something is rendered for
deciding on whether something goes into the accessibility tree. We can
simply have inclusion based on aria properties overrule exclusion based
on not being rendered. I do think we need a method for authors to
include/exclude objects and since roles (none, presentation) aren't
strong enough we could rely on display none. We do need a simple way for
authors and script writers to show/hide data that affects both visual and
the accessibility tree, however I do not think that stroke and fill are
appropriate for doing this.
Attachments
- image/gif attachment: 06146316.gif
- image/gif attachment: graycol.gif
Received on Friday, 20 May 2016 16:38:27 UTC