Blink element
| Company type | Unofficial HTML element |
|---|---|
| Industry | Web development |
| Founded | 1990s |
| Founder | Lou Montulli (proposed concept) |
| Fate | Obsolete, discontinued by most browsers |
| Headquarters | N/A |
| Products | Blinking text display in web browsers |
The blink element is an unofficial HTML element designed to instruct a user agent—commonly a web browser—to display content by alternating its visibility, causing it to flash on and off. Initially introduced in Netscape Navigator, this tag is now obsolete and disregarded by most contemporary browsers; some, including Internet Explorer, never implemented support.[1]
Widely embraced by casual users during the 1990s, its popularity waned due to excessive use and negative impact on readability.[2] Lou Montulli, often credited with the concept, clarified that he merely proposed the idea rather than programming it himself.[3]
Usage
Since the blink element is not part of any formal standard, it lacks official specifications. Though Bert Bos, a member of the World Wide Web Consortium, created a Document Type Definition featuring blink as a humorous addition, it holds no recognized semantic function.[4]
Its markup resembles inline elements such as . For instance: . The blinking frequency differs across browsers; Firefox, for example, cycles between visible for 0.75 seconds and hidden for 0.25 seconds.[5]
Originally supported by Netscape Navigator and its derivatives like Mozilla Firefox (excluding early Mozilla suite editions), Firefox discontinued support starting with version 23.[6] Browsers such as Microsoft's Internet Explorer and those based on WebKit (Safari, Chrome) never implemented this feature. Opera ceased support upon transitioning to WebKit in version 15. Similarly, Vivaldi does not accommodate blink.
During a 1996 HTML ERB meeting, Netscape consented to remove the blink element only if Microsoft agreed to eliminate the marquee tag.[7]
Certain applications incorporate blink as a hidden feature; Google Search, for example, animates text when querying "blink html".[8] Internally, Android’s user interface framework recognizes this tag under the identifier TAG_1995.[9]
Implementation
The blink option within the CSS text-decoration property offers a non-proprietary method for authors to indicate blinking text. However, the CSS 2.1 Specification explicitly states that "conforming user agents may simply not blink the text," adhering to accessibility standards.
Modern browsers rarely implement this feature natively. Instead, blinking effects are commonly created using CSS animations:
<syntaxhighlight lang="css" line="1"> @keyframes blink { 0% { opacity:1 } 75% { opacity:1 } 76% { opacity:0 } 100% { opacity:0 } }
blink, .blink-css { animation:blink 0.75s ease-in infinite alternate!important; } </syntaxhighlight>
Attaching the blink-css class to elements activates this blinking animation.
Comparable functionality can be achieved through JavaScript:
<syntaxhighlight lang="html" line="1"> <script type="text/javascript">
(function() {
var blinks = document.getElementsByTagName('blink');
var visibility = 'hidden';
window.setInterval(function() {
for (var i = blinks.length - 1; i >= 0; i--) {
blinks[i].style.visibility = visibility;
}
visibility = (visibility === 'visible') ? 'hidden' : 'visible';
}, 250);
})();
</script> <blink>Text to blink here</blink> </syntaxhighlight>
Alternatively, using jQuery:
<syntaxhighlight lang="html" line="1"> <script type="text/javascript">
setInterval(function(){
$('blink').each(function() {
$(this).toggle();
});
}, 250);
</script> <blink>Text to blink here</blink> </syntaxhighlight>
Usability and accessibility
Prior to the introduction of the HTML blink tag, the Apple IIe incorporated a flashing text display mode that alternated between white text on a black background and the reverse, black text on a white background. A developer guide from Apple Computer in 1982 recommended reserving this feature strictly for critical situations, cautioning that "[f]lashing [text] should only be used to indicate imminent destruction of data or the program."
The blink element has consistently drawn disapproval from usability and accessibility professionals. In 1996, Jakob Nielsen described it as "simply evil" in his Alertbox column addressing common web design errors. The World Wide Web Consortium’s Web Content Accessibility Guidelines (WCAG) 1.0 advises against using flickering or blinking content because it may pose challenges for individuals with cognitive impairments or photosensitive epilepsy.
The United States Access Board recommends avoiding flashing content with frequencies ranging from 2 to 55 Hz. Likewise, Germany’s Federal Government's Barrierefreie Informationstechnik-Verordnung (Accessible Information Technology Ordinance) forbids the use of blinking or flickering elements.
To comply with User Agent Accessibility Guidelines, web browsers are required to provide options to disable animated or blinking text or refrain from implementing blinking effects altogether. For example, Mozilla Firefox introduced a concealed setting accessible through about:config (browser.blink_allowed) to deactivate blinking, eventually removing support for the feature starting with version 23.
See also
External links
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named:0 - ↑ Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named:1 - ↑ Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedmozilla-corporation - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedfirefox23 - ↑ Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
- ↑ Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
- ↑ Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).