Text Customization Requirements
[work in progress — updated 5 October 2013]
This page offers ideas on how text customization can be addressed in guidelines and standards.
For context, please read Text Customization for Readability.
Page Contents
Summary of customization and levels
Characteristics | Level |
---|---|
text size | overall: A at element level: AA |
text color and background color | overall: A at element level: AA |
font face | overall: A at element level: AA |
zoom with reflow | A |
linearization/reflow with flexible width | A |
element-level customization | AA |
printing customized text | AA |
line spacing/leading/line-height | overall: AA |
letter spacing | AA |
word spacing | AA |
justification/alignment | AA |
line length | (covered by flexible width & reflow) |
text style - underlining, italics, bold | overall: AA element level: AA |
capitalization | AAA |
hyphenation | AAA |
margins | overall: AAA element level: AAA |
indentation | @@ |
borders | overall: AAA element level: AAA |
export text with semantic markup | AAA |
UAAG 2.0 recommendations (updated 5 October)
Reflow Text in UAAG
1.8.x. Reflow Text: The user can specify that text content in a graphical viewport reflows so that blocks of text fit within the width of the viewport in a single column. (Level A)
Note: Reflow applies to rescaled or zoomed text.
Resize Viewport in UAAG
1.8.x Resize Viewport: The user can resize viewports within restrictions imposed by the platform, overriding any values specified by the author. (Level AA)
[Reviewr Note: Resize viewport covers line length since users can change the width of the viewport.]
Zoom in UAAG
1.8.x Zoom: The user can rescale content within top-level graphical viewports as follows: (Level A) Zoom in: to 500% or more of the default size...
[Reviewer Note: This does not say anything about horiztonal scrolling, or text-only zoom. Do the rest of the provisions cover user needs sufficiently e.g., Note: Reflow applies to rescaled or zoomed text." above?]
Text Configuration in UAAG
Guideline 1.4
All of the Success Criteria under Guidelines 1.4 allow users to override the text characteristics specified by authors, and override user agents defaults.
1.4.1 Configure text globally (A): The user can globally set all of the following characteristics of visually rendered text content:
- Text scale (the general size of text)
[Reviewer notes: minimum? base? absolute? zoom?
If robust reflowing zoom, then not need to set specific text size? -- although if not text size by element, then need option for not proportional? UAAG 1.0 wording allowed for either zoom or text size setting.]
- Text color (foreground and background), choosing from all platform color options
[Reviewer notes: what if "platform" doesn't have enough options? say "which include at least..."?] - Font family, choosing from all platform fonts
[Reviewer notes: what if "platform" doesn't have enough options? say "which include at least..."?]
1.4.2. Configure text elements (AA): The user can set all of the following characteristics of visually rendered text content for headings, main text, and other elements:
- Text size [Review note: same as above]
- Text color and background color, choosing from all platform color options [Review note: same as above]
- Font family, choosing from all platform fonts [Review note: same as above]
1.4.3. Configure text globally (AA): The user can globally set all of the following characteristics of visually rendered blocks of text:
- Line spacing of at least 1.0, 1.3, 1.5, and 2.0.
[Reviewr notes: Ideally at Level AA would have the requirement that's down in AAA (Line spacing between 0.7 and 3.0, at increments of 0.10); however this might be too hard for closed systems such as e-Book Readers.] - Character spacing of at least 0.01, 0.03, 0.06, 0.09
[Reviewer note: Would be good to have unlimited increaments at Level AAA but probably not worth the clutter] - Word spacing of at least 0.01, 0.03, 0.06, 0.09
[Reviewer note: Would be good to have unlimited increaments at Level AAA but probably not worth the clutter] - Text style (underline, italic, bold)
[Reviewer note: At level AA most important is to be able to turn off underline, turn off italic, and turn on bold. However, probably not worth being that specific, and just leave it as tyrning each on or off.] - Justification - undo full justification
1.4.4. Printing configured and reflowed text: The user can print blocks of text that is configured according to the success criteria of guideline 1.4 and/or reflowed according to success criteria 1.8.x, including text that is zoomed. (Level AA)
1.4.5 Configure text elements (AAA): The user can set all of the following characteristics of visually rendered text content for headings, main text, and other elements:
- Text style (underline, italic, bold)
- Margins (for example, space above headings, indentation of lists)
- Borders
[Reviewer Note: "and other elements" is probably too vague for the standard. What wording will provide sufficient configurability yet be platform-independent (e.g., for technologies without style sheets).]
1.4.6 Configure text globally (AAA): The user can globally set all of the following characteristics of visually rendered blocks of text:
- Line spacing between 0.7 and 3.0, at increments of 0.10.
- Justification (setting left, right, or full)
- Capitalization (undoing all caps)
- Hyphenation
- Margins (to clear clutter away from block of text)
- Borders
1.4.7. Export text with semantic markup: @@ ...
[Reviewer note: This would certianly help people who want to take text from one place and view it in a more acccessible user agent. Suggestions for wording on this?]
Text Configuration in Implementing/Understanding UAAG
Guideline 1.4 addresses text configuration, and the success criteria specify text characteristics that users need to be able to configure.
Note: All of the success criteria under guideline 1.4 allow users to override the text characteristics specified by authors, and override user agent defaults.
The text characteristics are separated into levels based on user needs. Therefore, some text characteristics are in two success criteria — with less configuration at a higher level (A or AA), and more configuration at a lower level (AA or AAA), as explained below.
Global and element level:
- Success criteria 1.4.1, 1.4.3, and 1.4.6 address configuration at a global level, that is, it changes all of the text.
- Success criteria 1.4.2 and 1.4.5 are at an element level, such as configuring just the heading text.
The difference between global and element-level configuration is why some characteristics are in two success criteria; for example, text scale globally is Level A (1.4.1), and text scale at the element-level is Level AA (1.4.2).
Settings:
For some text characteristics, the settings for configuration are at different level success criteria. For example, users need to be able to configure line spacing; however, it may be difficult for some platforms to provide granular configuration settings. Therefore, four line spacing options are at Level AA (1.4.3) and granular line spacing is at Level AAA (1.4.6). This allows platforms where such granularity would by difficult to provide basic line spacing settings at Level AA, and for other platforms to provide more line spacing settings.
Levels A, AA, AAA and user interface
In many platforms, it is technically easy to provide all of the text configuration in the success criteria of guideline 1.4, including the level AAA success criteria. However, all of the options maybe too overwhelming for many users. The levels may be useful for user agent developers in deciding which text configuration to provide in the basic user interface, and which to provide through progressive disclosure to advanced users.
Ideally, at least the level A and AA text configuration is provided through the user agent's main user interface. However, the success criteria in guideline 1.4 can be met through user stylesheets. For platforms without user stylesheets, text configuration needs to be provide to users another way.
Glossary
- blocks of text
- more than one sentence of text
[WCAG definition]
Internal Implementation Notes
- Most browsers support some of these SC through menu options, including: font size, font family (including for different types of font, e.g., serif, sans-serif, proportional, monospace), and color.
- Opera 11 has some element-level configuration from menu options (Tools>Preferences>Fonts>Advanced): headings 1-6, form buttons, text field multi-line, textfield single-line, titles.
- There are specialized browsers that provide some of the configuration in these SC through toolbars.
There are browser extensions that provide some of the configuration in these SC. - Most browsers support all these SC through user stylesheets.
Most EPUB-based eBook Readers support all these SC through user stylesheets. - Microsoft Word and most other word processing software support all these SC.
- A PDF user agent, VIP PDF-Reader, supports some of these SC.
- It provides zoom with reflow (which avoids horizontal scrolling and column scrolling) in a window of adjustable width ("resize viewport" in UAAG language)
- line, word, and character spacing at seemingly-unlimited settings
- a range of fonts of different types (including serif, sans serif, and fonts specifically designed for people with low vision and dyslexia)
Important notes on below:
- IMPORTANT: Some of the info in the tables below is old and I haven't updated it yet.
- Element-level: Users need to be able to distinguish between elements; for example, setting main paragraph text one way, each heading a different way, and navigation a different way. One approach would be to include some specific aspects of element-level customization at level AA, for example, for color, include element-level at AA and for borders include element-level at AA. Another approach would be to have a separate requirement for element-level customization that allows the users to chose 2 of a few options at level AA. Both ideas are drafted below...
Text Size success criteria
Also known as: font size.
Considerations:
- Settings: Ideally users can set any text size, ranging from 5 point to @@ point. [open?] However, in some "closed systems" such as eBook Readers, is this not feasible, and instead they can be allowed to chose from a limited number of point sizes? If so, which are acceptable?
- [open?] One option is setting a minimum size. Is that level AAA or other?
- [open?] If users can zoom effectively, is setting specific text size not required at Level A?
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
[OPEN: maybe go with minimum instead?] For "closed systems": Users can select text size from at least the following options: 8, 10, 12, 14, 18, 24, 36, [what is acceptable minimum options?]. |
A |
|
|
[OPEN: need this is have above?] |
|
||
[NOT] |
|
OPEN: Do any UA's support this? (It's in UAAG 1.0.) |
|
Users can set the text size of specific structural elements, including paragraphs and headings. [need to include more elements?] | AAA |
|
|
Users can set the text size according to types, such as proportional and monospace. | AAA |
|
Text and background color success criteria
Many people, especially people who are older, need high contrast to read text well. However, some people need low contrast, including people with some types of low vision and some types of cognitive disabilities, including dyslexia. For more info, see the Color section of Text Display Aspects that Users Need to Customize.
Considerations:
- Settings: Ideally, users can choose from a wide range of colors that are provided through the OS. [open?] However, in some "closed systems" such as eBook Readers, is this not feasible, and instead they can be allowed to chose from a limited number of color combinations? If so, which are acceptable, e.g., at least 2 high contrast and at least 2 low contrast? How specific do the requirements need to be, e.g., providing contrast ratio values for high & low contrast...
Note: WCAG 2.0 requires high contrast at Levels AA (SC 1.4.3) and AAA (Sc 1.4.6), , which decreases accessibility for some users. In WCAG 2.0, user customization of colors is at Level AAA. This is a problem.
(Note: Related to highlighting, e.g,. UAAG1:10.2, UAAG2: G1.3)
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
Users can select text and background color combinations globally for all text from at least the following options: white on black, black on white, low contrast (below @:1) dark on light, low contrast (below @:1) light on dark, [more needed?]. (User selection will override author settings.) |
A |
|
|
Users can set text color and background colors (separately, as opposed to pre-defined combinations) globally for all text from [a wide range of colors that includes at least... (something like this from UAAG1:4.3 )]. (User selection will override author settings.) | AA |
|
|
Users can set text color and background colors (separately, as opposed to pre-defined combinations) of specific structural elements, including paragraphs and headings [need to include more elements?] from [a wide range of colors that includes at least... (something like this from UAAG1:4.3 )]. (User selection will override author settings.) |
AAA |
|
|
[content guidelines] The default color contrast is at least 7:1. | AAA | For content, not user agents |
Font face success criteria
Also know as: typeface and font family.
Some fonts are extremely difficult to read and content could be totally inaccessible to people even with moderate low vision or reading disabilities. Some users will want to set the paragraph font different from the heading font to help differentiate them. Content providers sometimes use different types of font for different purposes, e.g., serif and san-serif. Some users would like to maintain such differentiation.
Considerations:
- Settings: Ideally, users can choose from a wide range of fonts provided by the OS. [open?] However, in some "closed systems" such as eBook Readers, is this not feasible, and instead they can be allowed to chose from a limited number of fonts? If so, what is acceptable, e.g., at least 2 simple serif fonts and at least 2 simple sans serif fonts? How define "simple?
- [@@ Content providers sometimes use different types of font for different purposes, e.g., serif and san-serif. Some users would like to maintain such differentiation.]
Implementing note to tool developers: When providing users a list of fonts to choose from, present the font name in the font itself — e.g., Times, Verdana, Courier — so users can tell what each font looks like.
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
Users set change the font face globally for all text. For "closed systems": Users can select font face from at least the following options: [simple] serif or [simple sans serif] font. [how define "simple" or other way to categorize? ask typographer] |
A |
|
|
Users can set the font face of specific structural elements, including paragraphs and headings. [need to include more elements?] | AAA |
|
|
Users set change the font face according to font types, such as serif, sans-serif, monospace. [@@need to be more specific?] | AAA |
|
Zoom
Many user agents already provide some zoom functionality (incidentally, with an easier UI than increasing text size). However, most web browser zoom and PDF Reader zoom functionality does not "rewrap" text and instead creates horizontal scrolling, thus making the text inaccessible to some people, as explained in Scrolling to Read Text.
Considerations:
- Horizontal scrolling: Avoiding horizontal scrolling to read a line of text is a level A requirement. (It's OK for users to have to scroll horizontally to get to different sections of content.)
- [open?] What are the requirements of user agents and content? Real world accessibility will be better if the user agents zoom effectively regardless of how the quality of the content. Is that feasible? (Opera seems to do effective zooming regardless of content quality.)
- [open?] How handle the zoom percentage and small screens?
- [open?] WCAG 2 requires 200% yet some say that is not feasible for many websites [@@link].
(Some recent discussions that may be helpful: Browser zoom great for accessibility, including comments (August 2013), Easy Checks comments, Why Browser Zoom Testing Sucks for Accessibility, Text resizing: Why page zoom is not good enough - or is it? (updated 10 January 2012))
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
Users can "zoom" to rescale all content up to 150% and down to 10% of the default size without requiring horizontal scrolling to read a line of text on a full-screen window, and without loss of information. [e.g., text going outside of containers or overlapping] | A | UAAG2:SC 1.8.6 The user can rescale content within graphical viewports as follows: * Zoom in: to 500% or more of the default size; and * Zoom out: to 10% or less of the default size, so the content fits within the height or width of the viewport. (Level A) UAAG2:SC 1.8.12 The user can request that when reflowable content in a graphical viewport is rescaled, it is reflowed so that one dimension of the content fits within the height or width of the viewport. (Level AA) WCAG2:SC 1.4.4 ...text can be resized without assistive technology up to 200 percent without loss of content or functionality. (Level AA) |
|
Users can "zoom" to rescale only text [not images, etc.] up to 150% and down to 10% without requiring horizontal scrolling to read a line of text on a full-screen window and without loss of information. [e.g., text going outside of containers or overlapping] | AA ? AAA |
@@ Linearization/reflow success criteria
@@ ability to get an entire chunk of content (article, paper, story, etc.) in a single column. ability to change the width of the [viewing pane] and have text wrap to fit within it, to avoid horizontal scrolling.
(user need: it is impossible for some people to read multi-column text that goes off screen vertically, that is, for users to get from the bottom of one column to the top of the next and retain meaning from previous column) (note following one line across a horizontal scroll is difficult, getting to the next line is many times more difficult)
"Text in one continuous block, instead of in multiple columns (change it so that you/they do not have to go from the bottom of one column up to the top of another column to read text; e.g., changing text from 3 columns to 1 column; sometimes called reflow)"
Especially when text is enlarged, it can be extremely difficult for people to get from the bottom of one column to the top of the next column, and keep their reading flow.
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
Users can get related text (e.g., an article, a paper) in a single column. | A |
|
|
@@ Users can get related text (e.g., an article, a paper) in a single column, can change the width of the [viewing pane] and the text wraps within the [viewing pane] (without requiring horizontal scrolling). | AA |
|
|
@@ Element-level Customization
@@ Users need to be able to distinguish between elements; for example, setting main paragraph text one way, each heading a different way, and navigation a different way. One approach would be to include some specific aspects of element-level customization at level AA, for example, for color, include element-level at AA and for borders include element-level at AA. Another approach would be to have a separate requirement for element-level customization that allows the users to chose 2 of a few options at level AA. Here's the second approach.
See Element-Level Customization.
space before & after
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
AA |
@@ Printing Customized Text
"...print text after you/they have customized it to make it easier to read"
It is difficult for some people to read text on the computer; they need to be able to print electronic text on paper in order to read it. See Printing Customized Text.
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
AA |
Line spacing/leading/line-height success criteria
That is: the space between lines in a paragraph.
Considerations:
- Settings: Ideally users can set leading ranging from 0.7 to 3.0 at 0.10 increments. [open?] However, in some "closed systems" such as eBook Readers, is this not feasible, and instead they can be allowed to chose from a limited number of leading options? If so, which are acceptable?
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
Users can set line spacing at 1.0, 1.5, or 2.0 globally. (as opposed to per element) | AA |
|
|
Users can set line spacing between 0.7 and 3.0 at increments of 0.10 globally. (as opposed to per element) | AAA |
|
|
@@ line spacing element level | AAA |
|
|
@@ Users can set line spacing above and below specific structural elements, including paragraphs and headings [need to include more elements?], between 0.7 and 3.0 at increments of [tenths of percent (0.1)]. | AAA |
|
|
Other level AA success criteria
- @@ space between elements
- ...@@ covered in margins (but that's AAA), or at element-level ???
"Space between elements (e.g., space between paragraphs, or space above headings)"
why: Having additional space between elements helps most people group information. For example, having more space above a heading, and less space below it help associate the heading with the text below. - justification / alignment
- (left, right, full/both, centered), particularly undoing full justification.
why: Sometimes full justification makes reading more difficult because extra space between words causes "rivers of white", or less space between words makes it difficult to distinguish separate words. Some people find it easier to track from the end of one line to the next with full justification, and others prefer left justification (for left-to-right languages). - line length
-
the number of characters per line - how long or short the lines of text are.
why: It is more difficult to read very long lines of text. - text style
- underlining, italics, bold - usually removing the text styles.
why: For some people, it is difficult to read text that is underlines or italicized. For some, bold text is easier to read. - word spacing
- the space between words
- letter spacing
- the space between letters/characters in words
Level AAA success criteria
- capitalization
- all capital letters, small capital letters, sentence style.
why: Text in all capital letters is more difficult to read for most people. - margins
- blank space around blocks of text.
why: Having wide margins around blocks of text helps focus on the text and not get distracted by surround text, images, etc. - borders around blocks of text
- including border line color, width, style.
why: Some people prefer to use borders to indicate headings, rather than have them much larger than the main text. - indentation
- e.g., space in front of list items, the first line of a paragraph.
@@ overlap with margins at element level ? - hyphenation
- turning it on or off (word breaks; when a long word is at the end of a line, either separating the word with a hyphen, or putting the whole word on the next line.
why: For some people it is especially difficult to understand words that are hyphenated. - export (or copy & paste) text along with its semantic markup
- ...
why: so people can use different user agents with better text customization functionality
(Not included)
@@ The ability to "zoom" with UNproportional text increase — [UAAG draft wording "Preserving Size Distinctions: The user can specify whether or not distinctions in the size of rendered text are preserved when that text is rescaled (e.g. headers continue to be larger than body text)"] "...choose whether or not all text increases proportionally; for example, headings remain bigger than main paragraph text"
@@template
@@
Proposed SC | Level | Related in guidelines | Support |
---|---|---|---|
Acknowledgments
Thank you for contributing your perspectives on this material:
- Wayne Dick
- Michael Cooper
[in-progress draft] Misc notes
- Of great concern is the difficulty in changing settings - even finding the options. In most browsers some of these are several steps through menus and dialog boxes. (In ReaderX, the color options are on 2 of 5 required dialog boxes.)
- Opera 11.6 also allows font settings for Browser menus, toolbars, dialogs, panels, and tooltips - from Preferences > Fonts > Advanced.
Note: Element level customization
Users need to be able to distinguish between element types, e.g., heading levels. With large text, size is often a poor discriminator. Aspects useful for distinguishing head levels are: color, font face, style (e.g., bold), underlining (box model properties), and space above and below.
Also useful is being able to customize by "roles" —e.g., titles, sidebar heading, sidebar text, footnotes— such as provided by HTML5 role attribute.
WayneD perspective: Not need element level: leading, letter spacing, word spacing, font size.
Note: Difference between simple legibility and readability
Background: Readability beyond legibility
OPEN: Does this mean we can have more lenient requirements for small bits of text, e.g., form field labels? If so, how to we define the larger "blocks of text" or whatever-it's-called for which there are more requirements? WCAG 2 defines "blocks of text" as "more than one sentence of text". The page is for blocks of text.
OPEN: What is required for small bits of text? Yes: font face, text size, color. No: line spacing, linearization. ?
Note: Range of technologies and devices
@@ HTML, word processing, PDF, eBooks, ...
@@ Desktop computers, laptops/notebooks/tablets, mobile phones, eReaders, ...
[For now, this page is primarily for web in robust OS. Ideas for "closed systems" such as basic eBook readers are include in some places.]
@@ different requirements -- e.g., closed system can provide limited font choices, whereas browser etc should pull from all OS fonts...
misc
no horizontal scrolling - readability, word, mobile browsers?
@@O/S ->platform