All technologies that support CSS.
The objective of this technique is to demonstrate how CSS can be used to control the visual presentation of text. This will allow users to modify, via the user agent, the visual characteristics of the text to meet their requirement. The text characteristics include aspects such as size, color, font family and relative placement.
CSS benefits accessibility primarily by separating document structure from presentation. Style sheets were designed to allow precise control - outside of markup - of character spacing, text alignment, object position on the page, audio and speech output, font characteristics, etc. By separating style from markup, authors can simplify and clean up the markup in their content, making it more accessible at the same time.
Text within images has several accessibility problems, including the inability to:
It is better to use real text for the text portion of these elements, and a combination of semantic markup and style sheets to create the appropriate visual presentation. For this to work effectively, choose fonts that are likely to be available on the user's system and define fallback fonts for users who may not have the first font that is specified. Newer machines and user agents often smooth or anti-alias all text, so it is likely that your headings and buttons will look nice on these systems without resorting to images of text.
The following CSS properties are useful to style text and avoid the need for text in images:
font-family property is used to display the code aspect in a monospace font family.text-align property is used to display the text to the right of the viewport.font-size property is used to display the text in a larger size.font-style property is used to display text in italics.font-weight property is used to set how thick or thin characters in text should be displayed.color property is used to display the color of text or text containers.line-height property is used to display the line height for a block of text.text-transform property is used to control the case of letters in text.letter-spacing property is used to control the spacing of letters in text.background-image property can be used to display text on a non-text background.::first-line pseudo-element can be used to modify the presentation of the first line in a block of text.::first-letter pseudo-element can be used to modify the presentation of the first letter in a block of text.::before and ::after pseudo-elements can be used to insert decorative non-text content before or after blocks of text.<p>The JavaScript method to convert a string to uppercase is <code>toUpperCase()</code>.</p>
code { font-family:"Courier New", Courier, monospace }
<p class="right">This text should be to the right of the viewport.</p>
.right { text-align: right; }
<p>09 <strong class="largersize">March</strong> 2008</p>
strong.largersize { font-size: 1.5em; }
The style used in this example is not used to convey information, structure or relationships.
<p>09 <em class="highlight">March</em> 2008</p>
.highlight{ color: red; }
The style used in this example is not used to convey information, structure or relationships.
<p>The article is available in the
<a href="https://www.example.com" class="featuredsite">Endocrinology Blog</a>.
</p>
.featuredsite{ font-style:italic; }
The style used in this example is not used to convey information, structure or relationships.
<p>This deal is available <span class="highlight">now!</span></p>
.highlight { font-weight:bold; color:#990000; }
The style used in this example is not used to convey information, structure or relationships.
<p>09 <span class="caps">March</span> 2008</p>
.caps { text-transform:uppercase; }
line-height to control spacing between lines of textThe CSS line-height property is used to display the line height for the paragraph at twice the height of the font.
<p>Concern for man and his fate must always form the chief interest of all technical
endeavors. Never forget this in the midst of your diagrams and equations.</p>
p { line-height:2; }
The CSS line-height property is used to display the line height for the text at less than the height of the font. The second line of text is positioned after the first line of text and visually appears as though the text is part of the first line but dropped a little.
<h1 class="overlap"><span class="upper">News</span>
<span class="byline">today</span>
</h1>
.overlap { line-height:0.2;}
.upper { text-transform:uppercase; }
.byline {
color:red;
font-style:italic;
font-weight:bold;
padding-left:3em;
}
letter-spacing to space textThe CSS letter-spacing property is used to display the letters farther apart in the heading.
<h1 class="overlap"><span class="upper">News</span><br>
<span class="byline">today</span>
</h1>
.overlap { line-height:0.2em; }
.upper { text-transform:uppercase; }
.byline {
color:red;
font-style:italic;
font-weight:bold;
padding-left:3em;
letter-spacing:-0.1em;
}
The CSS letter-spacing property is used to display the letters closer together in the second line of text.
<h1 class="upper2">News</h1>
.upper2 { text-transform:uppercase; letter-spacing:1em; }
background-image to layer text and imagesThe CSS font-style property is used to display the textual component of a banner and background-image property is used to display a picture behind the text.
<div id="banner"><span id="bannerstyle1">Welcome</span>
<span id="bannerstyle2">to your local city council</span>
</div>
#banner {
color:white;
background-image:url(banner-bg.gif);
background-repeat:no-repeat;
background-color:#003399;
width:29em;
}
#bannerstyle1 {
text-transform:uppercase;
font-weight:bold;
font-size:2.5em;
}
#bannerstyle2 {
font-style:italic;
font-weight:bold;
letter-spacing:-0.1em;
font-size:1.5em;
}
::first-line to control the presentation of the first line of textThe CSS ::first-line pseudo-element is used to display the first line of text in a larger, red font.
<p class="startline">Once upon a time...<br />
...in a land far, far away...</p>
.startline::first-line { font-size:2em; color:#990000; }
::first-letter to control the presentation of the first letter of textThe CSS ::first-letter pseudo-element is used to display the first letter in a larger font size, red and vertically aligned in the middle.
<p class="startletter">Once upon a time...</p>
.startletter::first-letter { font-size:2em; color:#990000; vertical-align:middle; }