Jump to content

CSS image replacement: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
attribute developers, +EL
Line 11: Line 11:


==Implementations==
==Implementations==
The original FIR implementation<ref name="stopdesign" /> used a heading, inside of which was a <code>&lt;span&gt;</code> element containing the text of the heading:
The original FIR implementation<ref name="stopdesign" /> described by [[Doug Bowman]] used a heading, inside of which was a <code>&lt;span&gt;</code> element containing the text of the heading:


<nowiki><h3 id="firHeader"><span>Sample Headline</span></h3></nowiki>
<nowiki><h3 id="firHeader"><span>Sample Headline</span></h3></nowiki>
Line 35: Line 35:
}
}


The Phark method had its own problems, however; in visual browsers where CSS was on but images off, nothing would display.
The Phark developed by [[Mike Rundle]] method had its own problems, however; in visual browsers where CSS was on but images off, nothing would display.


The '''Shea method''' solves both of the issues earlier mentioned, at the cost of an extra <code>&lt;span&gt;</code>:
The '''Shea method''' developed by [[Dave Shea]] solves both of the issues earlier mentioned, at the cost of an extra <code>&lt;span&gt;</code>:


<nowiki><h3 id="header"><span></span>Revised Image Replacement</h3></nowiki>
<nowiki><h3 id="header"><span></span>Revised Image Replacement</h3></nowiki>
Line 58: Line 58:
==References==
==References==
<references />
<references />

==External links==
*[http://www.mezzoblue.com/tests/revised-image-replacement/ Revised Image Replacement] &mdash; an overview of the various FIR techniques by [[Dave Shea]]


[[Category:Web design]]
[[Category:Web design]]

Revision as of 02:15, 27 April 2007

Fahrner Image Replacement (abbreviated FIR) is a Web design technique that uses Cascading Style Sheets to replace text on a Web page with an image containing that text. It is intended to keep the page accessible to users of screen readers, text-only web browsers, or other browsers where support for images or style sheets is either disabled or nonexistent, while allowing the image to differ between styles. FIR is named for Todd Fahrner, one of the persons originally credited with the idea of image replacement.[1]

Motivation

The typical method of inserting an image in an HTML document is via the <img> tag. This method has its drawbacks with regards to accessibility and flexibility, however:

  • Browsers without support for images cannot see the text. Adding alternative text using the alt attribute disallows HTML markup and causes problems with some search robots.
  • Using the <img> tag to show text is presentational; many Web designers argue that presentational elements should be separated from HTML content by placing the former in a CSS style sheet.
  • Images referenced using an <img> tag cannot be easily changed via CSS, causing problems with alternate stylesheets.

Fahrner Image Replacement was devised to rectify these issues.

Implementations

The original FIR implementation[1] described by Doug Bowman used a heading, inside of which was a <span> element containing the text of the heading:

<h3 id="firHeader"><span>Sample Headline</span></h3>

Through style sheets, the heading was then given a background containing the desired image, and the <span> hidden by setting its display CSS property to none:

#firHeader {
    width: 300px;
    height: 50px;
    background: #fff url(firHeader.gif) top left no-repeat;
}

#firHeader span {
    display: none;
}

It was soon discovered, however, that this method caused some screen readers to skip over the heading entirely, as they would not read any text that had a display property of none. The later Phark method instead used the text-indent property to push the text out of the image's area, addressing this issue:

#firHeader {
    width: 300px;
    height: 50px;
    text-indent: -5000px;
}

The Phark developed by Mike Rundle method had its own problems, however; in visual browsers where CSS was on but images off, nothing would display.

The Shea method developed by Dave Shea solves both of the issues earlier mentioned, at the cost of an extra <span>:

<h3 id="header"><span></span>Revised Image Replacement</h3>

By absolutely positioning an empty <span> over the text element, the text is effectively hidden. If the image fails to load, the text behind it is still displayed. For this reason, images with transparency cannot be used with the Shea method.

#header {
    width: 329px;
    height: 25px;
    position: relative;
}

#header span {
    background: url(firHeader.gif) no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
}

References

  1. ^ a b Bowman, Douglas (2003-03-07). "Using Background-Image to Replace Text". Stopdesign. Retrieved 2006-11-17. {{cite web}}: Check date values in: |date= (help)