What fresh hell is THIS now? - Patrick Lauke
range
input type? It doesn’t announce whole numbers, rather it announces percentages that are vaguely near the integer you were expecting. Tested on latest Safari and VoiceOver on El Cap.
<output>
element to display the value of the range
slider, Chrome announces the value twice if you use the keyboard to move slider. It doesn’t do it it you use the mouse to move it.
aria-valuetext
<fieldset> <legend>Question 1</legend> <p>Please rate the following kittens</p> <table> <thead> <tr> <td></td> <th id="rating-1">Bad</th> <th id="rating-2">Sort of bad</th> … <th id="rating-6">Good</th> </tr> </thead> <tbody> <tr> <th id="option-1">Kitten 1</th> <td> <label aria-describedby="option-1 rating-1"> <input type="radio"> </label> </td> <td> <label aria-describedby="option-1 rating-2"> <input type="radio"> </label> </td> … </tr> … </tbody> </table> </fieldset>
<fieldset outer><legend>In the following 5 questions, please rate your satisfaction from x to y where x== crappy and y== awesome for that item</legend>
<fieldset inner #1><legend>I thought the chocolate chip cookies were:</legend><input type="radio" id="cookie0"><label="cookie0">0</label>... x however many...</fieldset inner #1>
... fieldset 2, 3, 4,5...
</fieldset>
Might be verbose as hell but it's the first thing I would test
<fieldset> <legend>Question 1</legend> <p> Please rate the following kittens from 1 (meh) to 5 (OMG SO CUTE!) </p> <ol aria-hidden> <li id="rating-1">Meh</li> <li id="rating-2">I've seen better</li> <li id="rating-3">Cute!</li> <li id="rating-4">It's super cute</li> <li id="rating-5">OMG SO CUTE!</li> </ol> <fieldset> <legend>Rate kitten 1</legend> <ol> <li><label aria-describedby="rating-1"><input type="radio" value="1"></label></li> <li><label aria-describedby="rating-2"><input type="radio" value="2"></label></li> <li><label aria-describedby="rating-3"><input type="radio" value="3"></label></li> <li><label aria-describedby="rating-4"><input type="radio" value="4"></label></li> <li><label aria-describedby="rating-5"><input type="radio" value="5"></label></li> </ol> </fieldset> </fieldset>
step
of 1 it should honor that.
<output>
element. If you move the slider with a mouse, that doesn't happen. The fix is to hide the <output>
with aria-hidden
which feels like it should be fine.
[car] @allison: There was a conversation about convincing designers to follow WCAG for color contrast (started by @jdan https://web-a11y.slack.com/archives/general/p1446050294001708) that you might find interesting. I summarized it for my dev colleagues:
** Reasons to consider making the default theme pass WCAG 2.0 contrast guidelines:
- the first sentence of the WCAG contrast guideline description: http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast.html says, "this guideline is concerned with making the default presentation as easy to perceive as possible to people with disabilities.".
- can see it properly when outside in bright sunlight (particularly mobile)
- shows up more clearly when display brightness setting turned way down to conserve battery
- presents better in meetings when projected on a dim projector screen: https://medium.com/salesforce-ux/projectors-dont-lie-b85ef628b04
- easier to read on a small screen
- remember that not everybody has a retina display
- blog written by a designer, includes links to tools: https://viget.com/inspire/color-contrast
- try it! You may like it! :)
- Also, I recently saw this conversation on an accessibility list, and this is what changed my mind from "sure, just make a new theme" to "you know, with a bit more effort, we could make the default better for everyone":
[person 1]: I like to make the distinction between sufficient_ contrast and _high contrast.
The former applies to all content, always - and the latter is is the case for vision outside of the "normal range", where "normal range" is all the way up to 80/20
[person 2]: I love that distinction between “sufficient” and “high” contrast!
I’ve had some designers ask me in the past about creating a separate high contrast mode for their sites.
I’m adamantly against that because usually their idea of “high contrast mode” means “minimum viable contrast to meet WCAG 2.0”, and the “normal” mode is very low contrast.
I much prefer that normal mode meets WCAG 2.0 AA, and if users prefer/need more contrast, they can use their operating system’s high contrast functionality.
@LjWatson It works fine with Chrome and VoiceOver, so I assume it's a Safari issue. Chrome does have an oddity where moving the range slider with the keyboard announces the value of both the slider and the text in the
<output>
element. If you move the slider with a mouse, that doesn't happen. The fix is to hide the<output>
witharia-hidden
which feels like it should be fine.
output has a default of aria-live=polite which is implemented in some browsers, may be why. Note the appropriateness of this is under discussion