Comments: Issue 78 "Spacing"
The purpose of this page is to gather and organize comments on the proposed "Spacing" SC (GitHub Issue 78). Comments fall into the following areas:
- Support
- Techniques
- "Mechanism is available..." Language
- User Stylesheets is the intended "Mechanism"
- Add/Change SC Language
- Combine Success Criterion
- Level
Support
Summary | Comment | Commenter | Date | Comment or Email ID |
---|---|---|---|---|
Not Mature |
Not Mature. User Agent issue. My concern is that this really is a User agent issue. |
David MacDonald | 19 December 2016 | |
Mature | I think it is "mature" and tech-neutral, but aimed at non-HTML technologies. | Alastair Campbell |
19 December 2016 |
GitHub - 268002360 |
Unsupported in Mobile |
Not all browsers - particularly on mobile/tablet devices - support user stylesheets, and don't provide any browser/OS level controls that are this granular. | Patrick H. Lauke | 19 December 2016 | GitHub - 268001666 |
Unsupported in Mobile | no UA (on mobile/tablet) currently offers the necessary mechanism to satisfy the suggested requirement of the SC. | Patrick H. Lauke | 21 December 2016 | GitHub - 268651663 |
Supported in HTML |
I think there are a couple from LVTF are are essentially 'passed' when you use HTML based tech, but the idea was to include it to add the requirement other technologies. I believe this is one? For anyone coming to it fresh it appears to ask for customisation, but that isn't the aim. |
Alastair Campbell | 19 December 2016 | GitHub - 268002360 |
VIP PDF Reader supports | VIP PDF Reader can adjust spacing | Shawn Henry | 19 January 2017 | 19 January 2017 LVTF meeting |
PDF doesn't support (Acrobat reader) | then user can't read the content. especially in PDF | Shawn Henry |
12 January 2017 |
5 January 2017 LVTF meeting |
Acrobat DC supports | Acrobat DC (not Acrobat reader) allows changes to line, character, and paragraph spacing, in editable PDFs. you can also change the font, font color, and font size. | Jim Allan | 16 January 2017 | Git Hub - 273133638 |
Safari, Edge supports | reader on Safari, Edge reflow page and change font, color, and spacing | Jim Allan | 5 January 2017 |
5 January 2017 LVTF meeting
|
Edge supports | reading mode in Edge. can modify spacing etc | David MacDonald |
12 January 2017 |
12 January 2017 LVTF meeting |
Limitations in some user agents |
Other have pointed out the technical limitations for some user agents |
Mike Gower | 5 January 2017 | GitHub - 270822241 |
Internet Explorer Supports via user style sheet without plugin |
Maybe we can consider that Internet Explorer has this feature because it let user specify a user style sheet without any plugin or extension. |
@goetsu (Aurélien Levy) | 6 January 2017 | GitHub - 270857877 |
Web components. Support unknown | I think we should research web components a little. HTML5 might not be as easy to address as people think. | Wayne Dick | 16 January 2017 | 2017Jan/0019.html |
Techniques
Summary | Comment | Commenter | Date | Comment or Email ID |
---|---|---|---|---|
Customization personalization |
The only possible solution for an author to meet this SC would then be to implement a complete customisation/personalization system for their page/site, which is technically non-trivial and onerous (for a AA, and even a AAA). In my opinion, of course. | Patrick H. Lauke | 19 Decmber 2017 | GitHub - 268001666 |
No Customization if HTML | But no-one is saying that a website would have to provide customisation options. If you use HTML you pass, if you use something else, you may need to provide options. | Alastair Campbell | 19 December 2016 | GitHub - 268046863 |
Gear icon | I dread the thought of telling large companies to use up prime real estate (i.e. top right) with a gears icon and a bunch of CSS swapping radio buttons in there. Currently, EDGE reading mode is doing this kind of thing. So I agree with Patrick on this. I think this is too much for a dot release, given our other new LVTF requirements which are more mature and achievable. | David MacDonald | 19 December 2016 | |
Widget needed | authors effectively HAVE to provide a widget or some form of per-site personalization. | Patrick H. Lauke | 21 December 2016 | GitHub - 268651663 |
Failure technique: authors using element-level CSS marked !important |
@slhenry mentioned that having a failure technique for authors using element-level CSS marked important for spacing would be helpful for people with low vision because per @WayneEDick users can't overwrite that to what they need. Both Wayne and Shawn are user style sheet users. | Laura Carlson | 5 January 2017 | GitHub - 270716413 |
failure examples for !important |
...failure examples could then include things like !important and style attributes? |
Patrick H. Lauke | 8 January 2017 | GitHub - 271164347 |
Widget not needed. Rather authors should not impose barriers on user CSS | ...this SC is not about spacing widgets. It is more about letting People with Low Vision who use desktop browsers apply their own stylesheets without authors introducing barriers. | Laura Carlson | 5 January 2017 | GitHub - 270725937 |
Add new general and CSS techniques | There may be general techniques that could be written to ensure authors do not interfere with user agents (such as G204) or perhaps some CSS techniques which encourage rather than limit malleable spacing. | Mike Gower | 5 January 2017 | GitHub - 270822241 |
Element level access to spacing and ARIA | I say we modify our SCs to be element level access to spacing, font-family and color. The problem is easily solvable with ARIA. It is not without. We don't have to look far at all for a failure. The W3C Wiki fails element level customization. | Wayne Dick |
14 January 2017 |
2017Jan/0013.html |
"Mechanism is available" Language
Summary | Comment | Commenter | Date | Comment or Email ID |
---|---|---|---|---|
Current "mechanism" text gives impression of widgets required | The proposed text does say that "a mechanism is available...", which gives the impression of add-on widgets. Ideas to reword it? | Laura Carlson | 20 December 2016 | GitHub - 268237148 |
Idea to reword |
So it seems people are having a similar reaction to me when when I joined the LVTF, thinking that it is requiring on-page widgets when in fact HTML passes by default. There needs to be a way of saying that in the SC text, but somehow not make it technology specific!? The closest thing in WCAG 2.0 is from 1.4.5 Images of text, which starts: “If the technologies being used can achieve…” Perhaps something like “If the technologies being used do not provide element level access, a mechanism is available to achieve the following:" Where "element level access" is a term for markup languages. Any other ideas? |
Alastair Campbell | 21 December 2016 | GitHub - 268530368 |
Widgets required | In practice, even with that particular text, it would mean requiring even HTML/CSS based sites that are to be displayed on the currently common mobile platforms/browsers to provide actual widgets/personalization options (since to my knowledge none of the browsers on iOS/Android/Windows Mobile provide this sort of element-level granular control, nor any form of user stylesheet options). So this seems very ambitious and onerous as a AA, even with that text. | Patrick H. Lauke | 21 December 2016 | GitHub - 268626340 |
Customized mechanism required | The SC does not just call for the ability for users to control spacing, but specifies that a "mechanism" is available to provide that spacing. From that perspective I feel that it does imply that authors are required to customize a mechanism....if someone wanted to support accessibility on such a user agent, they would need to provide a mechanism. | Mike Gower | 5 January 2017 | GitHub - 270822241 |
User CSS is the mechanism |
In fact a mechanism does exist for at least two user agents to enable user style sheets. So mechanisms exist that are available to users with low vision to apply user style sheets. So, If one uses a laptop or a desktop one can change line, letter and word spacing. If no mechanism exists for a technology then authors are off the hook... |
Wayne Dick | 8 January 2017 | #GitHub - 271162367 |
Mechanism is not a restriction. |
The term a mechanism does not imply a user agent restriction. For example, the accessibility API for a system is a mechanism, without which much of WCAG and ARIA are useless. User style sheets and user agent extensions are such mechanisms. Fortunately two major user agents have extensions that support user style sheets. That means that a mechanism exists to change style, presentations like, spacing and font-family. If no user agent for a given file technology exists that provides this mechanism, then the author is not responsible for supporting the mechanism using that file technology. However, if a user agent exists with that support then the author must do nothing to interfere with that support. ... To say that user style sheets are not an existing mechanism is just technology bias. WCAG is not supposed to be technology bias for assistive technology either. |
Wayne Dick | 9 January 2017 | GitHub - 271369154 |
User Stylesheets is the intended "Mechanism"
Summary | Comment | Commenter | Date | Comment or Email ID |
---|---|---|---|---|
Per LVTF: need ability for users to apply their own stylesheets in desktop browsers without authors introducing barriers. | ...this SC is not about spacing widgets. It is more about letting People with Low Vision who use desktop browsers apply their own stylesheets without authors introducing barriers. | Laura Carlson | 5 January 2017 | GitHub - 270725937 |
Asked for "ideal" user stylesheet. Asked for example of where |
Both @slhenry and @WayneEDick are user style sheet users. Shawn and Wayne would it be possible for you two to collaborate to create such a sample "ideal" user stylesheet? In the the 5 January 2017 LVTF meeting it was mentioned that Shawn and Wayne, do either of you have an example of where this has occurred for you? |
Laura Carlson | 6 January 2017 | GitHub - 270903951 |
User css limitations in some user agents |
I agree we must have an exception if the UA doesn't have a feature to let user change spacing adjustments but are you aware of any UA that allow to change it ? From what I know it not the case for at least Firefox, Safari and Internet Explorer so basically this SC will be always non applicable for now. Maybe we can consider that Internet Explorer has this feature because it let user specify a user style sheet without any plugin or extension. But, in that case the failure you mention doesn't work because user stylesheet value marked as |
@goetsu (Aurélien Levy) | 6 January 2017 | GitHub - 270857877 |
User stylesheet supported: IE & Safari. Plugin needed for Firefox & Chrome
Sample "ideal" user stylesheet needed for consistent testing
|
Indeed, if user styles are the intended "mechanism" that comes out of the box (rather than requiring an explicit widget etc), it seems that user stylesheets are currently are not supported by Edge at all, and supported in Firefox and Chrome only through the use of third-party plugins. Internet Explorer and Safari still provide options in their settings for them (in IE: Internet Options > General > Accessibility; in Safari: Safari menu > Preferences > Advanced). And yes, @goetsu is right that
The one danger I can see here is that user styles are an unknown quantity for both authors and auditors. It will be difficult to explicitly author against and test all possible values/ways in which user styles try to affect a page. At the very least, a sample "ideal" user stylesheet should be provided for consistent testing, but that still won't guarantee that real-world user stylesheets will do exactly the same, and may still result in situations where a site does not display correctly anymore due to some unforeseen user CSS. |
Patrick H. Lauke | 6 January 2017 | GitHub - 270876852 |
authors should not code in a way to prevent user styles |
...I don't see why authors of HTML should not code in a way to prevent user style. One that I have run into for example is the use of |
Wayne Dick | 8 January 2017 | #GitHub - 271162367 |
Author !important and inline style attributes are not a problem. User CSS override. |
Why would !important and inline style attributes fail? An element defined with !important in the user style sheet will override both of these in the source document as far as I'm aware. |
James Nurthen | 8 January 2017 | GitHub - 271169951 |
!important and inline style attributes are not a problem. User CSS overrides. |
Just tested this, and yes you're right: providing that a user stylesheet is written appropriately, !important in the author's styles and style attributes do NOT override the user styles. As such, I'd be interested in seeing some hard examples of where authors are breaking user styles... (and where it's not simply the user styles that need to be written more specifically with their selectors - e.g. not just setting style rules purely on body or html, but perhaps using catch-all star selectors * { ... } ) |
Patrick H. Lauke | 8 January 2017 | GitHub - 271170859 |
!important and inline style attributes are a problem. |
I have seen very bad pages that include !important in "style " parameters of html elements. That is unacceptable. |
Wayne Dick | 9 January 2017 | GitHub - 271369154 |
user css has the lowest priority |
The instances of inline !important are rare, but I have found them very hard to override. The main problem is that user style sheets have the lowest priority of all, and inline style has the highest. However, the following extremely general CSS will ferret out most 'stinker' pages.
The only real problem caused by changing spacing, and I find it about every three months is that spacing acts a little like enlargement in that it usually takes more space. But most pages do this pretty well. ... If a file format like HTML has a mechanism like user style sheets on some user agents then all an author has to do to test if a page passes is to include the CSS above as the very last style statement in their code. Last in the CSS line with !important beats everything, even specificity. An accessibility tester can use Stylish with the same code. If any elements or classes fail to space they can be noted as failures. This is a general issue with low vision. We need access to restyle. We do not want to force authors on technologies like Silverlight or PDF or rigid mobile to create local widgets. We just need authors to code accessibly for user agents that do support restyling. The former expectation is well beyond the scope of 2.1, but the latter splits the case into to technologies that can and technologies that cannot leaving the author off the hook. |
Wayne Dick | 9 January 2017 | #GitHub - 271387144 |
When UAs user allow for user CSS those can override author CSS. 3rd party plug-ins and bookmarklets don't override author CSS so " |
.. In my experience when user agents allow for user styles those can override. However, many browser's don't offer this anymore and thus we must use tools, plug-ins and bookmarklets like the Stylish extension. When using these extensions the scripts are inserted into the page at the document level and thus "important " may not be able to be overwritten in my experience. |
@mraccess77 (Jon Avila) | 9 January 2017 | GitHub - 271371255 |
CSS Level 3 inheritance: user !important overrides author !important |
I'm not sure if this has changed – but in CSS Level 3 inheritance should be as follows: An important<https://www.w3.org/TR/2013/CR-css-cascade-3-20131003/#important0> declaration takes precedence over a normal declaration. Author and user style sheets may contain !important<https://www.w3.org/TR/2013/CR-css-cascade-3-20131003/#important> declarations, with user !important<https://www.w3.org/TR/2013/CR-css-cascade-3-20131003/#important> declarations overriding author !important<https://www.w3.org/TR/2013/CR-css-cascade-3-20131003/#important> declarations. This CSS feature improves accessibility of documents by giving users with special requirements (large fonts, color combinations, etc.) control over presentation.[1] 1 https://www.w3.org/TR/2013/CR-css-cascade-3-20131003/ | @mraccess77 (Jon Avila) | 9 January 2017 | GitHub - 271390396 |
this is not a problem of priority, but rather of CSS specificity and cascade. Author CSS with higher specificity in its selector overrides user CSS with a lower specificity. |
this is not a problem of priority, but rather of CSS specificity and cascade. If you've got very generic style definitions in your user styles, they At the same level of CSS specificity, user styles (if implemented in the true sense, i.e. natively in browser rather than through a third-party extension that simply inserts them into the document level) trump inline styles, document styles, etc. as a simplified example if you just define a very high level |
Patrick H. Lauke | 9 January 2017 | GitHub - 271422604 |
Safari and IE: respects user styles over author inline styles. Stylish extension: does not respect user styles over author inline styles |
I put together a simple test case. A spacing.css user stylesheet is available with Wayne's CSS declarations. |
Laura Carlson | 9 and 12 January 2017 |
GitHub - 271425624 and GitHub - 272233033
|
Requested examples in the wild of authors breaking user styles | asked at the 12 January 2017 LVTF meeting if hard examples of where authors are breaking user styles can be provided. | Laura Carlson | 12 January 2017 | GitHub - 272238861 |
Authors shouldn't prevent users changing CSS |
need to be able to swap out stylesheets. SC vs what is available. or what can be done today. we want authors to not prevent users from changing their content to meet their needs |
David MacDonald | 12 January 2017 | 12 January 2017 LVTF meeting |
Specificity makes writing user CSS Onerous | jim: with css specificity, they user must look at the code and fined the classes and id associated with all elements on the page, then build the 'stylish' rule to make a page readable. Very onerous for users | Jim Allan | 12 January 2017 |
12 January 2017 LVTF meeting
|
Most users are not able to create their own style sheets | The basic problem is that the majority of users are not able to create their own style sheets and the closest they will get is high contrast mode in Windows | Scott McCormack | 12 January 2017 | 12 January 2017 LVTF meeting |
User CSS is a poor mechanism. Investigating javascript solution |
user styles are a poor way of fixing author styles. https://alastairc.ac/tests/layouts/percentages-rwd.html links can work as bookmarklet to work on any site. because it is javascript it can be more selective |
Alastair Campbell | 12 January 2017 | 12 January 2017 LVTF meeting |
Add/Change SC Language
Summary | Comment | Commenter | Date | Comment or Email ID |
---|---|---|---|---|
user groups would not be using devices/UAs that don't provide this customization option | Not sure how this tension could be resolved...if what the SC is proposing is indeed needed by particular user groups, one could argue that those user groups would not be using devices/UAs that don't provide this customisation option, but that's potentially a self-fulfilling prophecy/circular argument, unless I'm missing something obvious... | Patrick H. Lauke | 21 December 2016 | GitHub - 268651663 |
rephrase for authors ability do, not what user overrides. |
need to rephrase for things the author can do, not what user overrides. |
Alastair Campbell |
5 January 2017 |
5 January 2017 LVTF meeting |
Reword to exempt UAs that do not provide a way to adjust spacing |
On the January 5, 2016 LVTF call we discussed having an exception for UAs that do not provide a way to adjust spacing. If the user-agent does not have a way (such as mobile does not currently allow user style sheets), authors would be exempt. This SC would not be applicable in those cases. However, authors would be responsible for where it is indeed feasible such as HTML on desktops. Lots of low vision folks can't do things on mobile but having this SC at AA where it is accessibility supported via user stylesheets would be a big benefit. First attempt at rewording the SC:
|
Laura Carlson | 5 January 2017 | GitHub - 270716413 |
Use "adjusted" instead of "selected." |
If the SC wording was altered so that the requirement was not to provide a mechanism, I wonder if this might be easier to consider as a AA. For instance:
|
Mike Gower | 5 January 2017 | GitHub - 270822241 |
Exempt clause needed |
I agree we must have an exception if the UA doesn't have a feature to let user change spacing adjustments |
@goetsu (Aurélien Levy) | 6 January 2017 | GitHub - 270857877 |
Add note: standard HTML passes |
I would also recommend a note similar to 4.1.2: "This success criterion is primarily for Web authors who develop or script their own user interface components. For example, standard HTML controls already meet this success criterion when used according to specification." |
Bruce Bailey | 3 January 2017 | GitHub - 270140919 |
Exception language frees authors where no UA exists for spacing |
I really think that the exception language of Laura frees authors of technologies where no user agent exists with support of spacing control. |
Wayne Dick | 9 January 2017 | GitHub - 271387144 |
disagrees with exception language |
<shawn> [ Shawn is not cool with that exception ] <shawn> Content is not accessible if users cannot change line spacing ... what about alistairs language to not get in the way of CSS. |
Shawn Henry |
12 January 2017 |
12 January 2017 LVTF meeting |
Edit SC to allow element level access to spacing | I say we modify our SCs to be element level access to spacing, font-family and color. The problem is easily solvable with ARIA. It is not without. We don't have to look far at all for a failure. The W3C Wiki fails element level customization. | Wayne Dick |
14 January 2017 |
2017Jan/0013.html |
Combine Success Criterion
Generalize (expand/combine) the SC so that all sorts of presentational attributes (beyond just spacing) can be changed using user styles | ...why not generalise the SC so that all sorts of presentational attributes (beyond just spacing) can be changed using user styles or similar? And the failure examples could then include things like !important and style attributes? |
Patrick H. Lauke | 8 January 2017 | GitHub - 271164347 |
Combine: Use a union model | I think that the LVTF should support SC's for spacing and font-family even if we cannot come up with an example of HTML that does not allow a JavaScript modification. The reason is this. This level of support should have been part of 1.3.1. It wasn't because WCAG WG used an intersection model. if a necessary accommodation was not supported by all technologies, we could not make an SC blocking certain authoring techniques. Our language lets the author off the hook on a platform or in a file language that can't support the change. This is a union model. If there is one user agent that supports the feature then authors must write design their page so that it does not conflict with that support. We can even say one commonly used agent. This model means that we should combine our techniques into one, so that a person can get feature x only on browser A but needs to go to browser B for feature y. |
Wayne Dick | 16 January 2017 |
2017Jan/0018.html |
Combine user-adaptation SCs | I'd like to wrap up some of the general problems (perceived or otherwise) into one issue we can put to the working group. User-adaptation is what I'll call it for this email, so I'm referring to the SCs like Reflow, font-family, spacing, and text-colour. Also, there are some COGA SCs as well such as Visual presentation. | Alastair Campbell | 17 January 2017 | 2017Jan/0023.html |
Level
Summary | Comment | Commenter | Date | Comment or Email ID |
---|---|---|---|---|
Non-trivial and onerous for AA, and even AAA |
technically non-trivial and onerous (for a AA, and even a AAA). In my opinion, of course. | Patrick H. Lauke | 19 December 2016 | GitHub - 268001666 |
Ambitious/onerous as AA | seems very ambitious and onerous as a AA, even with that text. | Patrick H. Lauke | 21 December 2016 | GitHub - 268626340 |
Better as AAA: implementation costly | Is it an invitation for authors to implement feature to let user choose spacing he want ? in that case better to be AAA I think because can be costly to implement | @goetsu (Aurélien Levy) | 26 December 2016 | GitHub - 269208353 |
OK at AAA |
I am okay with this SC, but think it needs to be at same level as 1.4.8 (currently AAA) because (as compared to 1.4.8):
|
Bruce Bailey | 3 January 2017 | GitHub - 270140919 |
Difficult as AA |
The SC does not just call for the ability for users to control spacing, but specifies that a "mechanism" is available to provide that spacing. From that perspective I feel that it does imply that authors are required to customize a mechanism. There are 8 existing SC that refer to providing "mechanisms", six of which are AAA:
These break down into 3 broad categories:
This candidate SC aligns very closely with the third case. In fact the 4th requirement for Visual presentation is a near-cousin ("Techniques to ensure line spacing (leading) is at least space-and-a-half within paragraphs, and paragraph spacing is at least 1.5 times larger than the line spacing"). Given that Visual Presentation is AAA, it is tough to rationalize giving this candidate SC a AA designation. As well, it's tough to say this should be a lower level than AAA, because unlike other A and AA that call for mechanisms due to author decisions, this one requires a mechanism regardless of what is being authored. |
Mike Gower | 5 January 2017 | GitHub - 270822241 |
Perhaps AAA | perhaps spacing as AAA. | Jim Allan | 12 January 2017 |
12 January 2017 LVTF meeting
|
Needs to be AA not AAA | please spacing *not* at Level AAA - it's a solid AA for many people | Shawn Henry | 12 January 2017 | 12 January 2017 LVTF meeting |