Blink element

From HandWiki
Short description: HTML element causing flashing text

The blink element is a non-standard HTML element that indicates to a user agent (generally a web browser) that the page author intends the content of the element to blink (that is, alternate between being visible and invisible).[1] The element was introduced in Netscape Navigator[2] but is no longer supported and often ignored by modern Web browsers; some, such as Internet Explorer, never supported the element at all.[1]

Despite its initial popularity among home users in the 1990s, it fell out of favor due to its overuse and the difficulty it presents in reading.[3] Lou Montulli, often credited as the inventor of the blink element, claims he only suggested the idea, without writing any actual code.[2]

... At some point in the evening I mentioned that it was sad that Lynx was not going to be able to display many of the HTML extensions that we were proposing, I also pointed out that the only text style that Lynx could exploit given its environment was blinking text. We had a pretty good laugh at the thought of blinking text, and talked about blinking this and that and how absurd the whole thing would be. ... Saturday morning rolled around and I headed into the office only to find what else but, blinking text. It was on the screen blinking in all its glory, and in the browser. How could this be, you might ask? It turns out that one of the engineers liked my idea so much that he left the bar sometime past midnight, returned to the office and implemented the blink tag overnight. He was still there in the morning and quite proud of it.[2]

Usage

The blink element is non-standard, and as such there is no authoritative specification of its syntax or semantics. While Bert Bos of the World Wide Web Consortium has produced a Document Type Definition that includes syntax for the blink element (defining it as a phrase element on a par with elements for emphasis and citations), the comments in the DTD explain that it is intended as a joke.[4]

Syntax of the blink element type is identical to such standard HTML inline elements as span. For example: <blink>This text could blink</blink>. The rate of blinking is browser-specific, and the tag contains no parameters or means to adjust the rate of blinking. In versions of Mozilla Firefox that support the tag, the text alternates between being visible for three quarters of a second and being invisible for one quarter of a second.[5]

The blink element type was first invented for Netscape Navigator and was supported in its descendants, such as Mozilla Firefox (except for the Netscape 6 and early Mozilla suite browsers—it is thus also absent from SeaMonkey, which descends from Mozilla suite); it was removed from Firefox in version 23.[6][1] Microsoft's Internet Explorer and WebKit (the browser engine behind Apple's Safari and Google Chrome) never supported it, even in its CSS incarnation. It was also supported by the Opera Internet Browser, but support ended in version 15 when that browser switched to a WebKit-based engine. Vivaldi, despite its roots as a spiritual successor to the Presto-based Opera, also does not support a functional blink tag.

Netscape only agreed to remove the blink tag from their browser if Microsoft agreed to get rid of the marquee tag in theirs during an HTML ERB meeting in February 1996.[7]

Some software supports the blink element as an easter egg. Google Search blinks parts of the page when one searches for "blink html".[8] Android's user interface framework supports the blink tag, labeling it as TAG_1995 in its source code.[9]

Implementation

The blink value of the CSS text-decoration property allows authors to suggest that text should blink without using proprietary tags, but the CSS 2.1 Specification states that "conforming user agents may simply not blink the text" in order to comply with the User Agent Accessibility Guidelines.[10]

<span style="text-decoration: blink;">Down to the porshrop, down to the streep</span>

This produces the following on the page — it is unlikely to actually blink due to modern browsers lacking support for the tag:

Down to the porshrop, down to the streep

The blink element may also be implemented using CSS animations.

blink, .blink-css { animation: blink 1s step-end infinite; }

@keyframes blink {
  67% { opacity: 0 }
}

When elements are then given the tag or class blink, such as:

<span class="blink-css">Down to the porshrop, to the porshrop family treep</span>

This produces the following:Page Template:Blink/styles.css has no content.

Down to the porshrop, to the porshrop family treep

Similar effects can also be achieved through the use of JavaScript.

<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>

Or alternatively, the blink functionality can be implemented with the help of jQuery.

<script type="text/javascript">
    setInterval(function(){
      $('blink').each(function() {
        $(this).toggle();
      });
    }, 250);
</script>
<blink>Text to blink here</blink>

Usability and accessibility

Even before the implementing of the blink tag in HTML, the Apple IIe had a flashing text mode, alternating between standard white-on-black and inverse black-on-white text. A 1982 Apple Computer manual for developers advised against using this feature except for emergencies, warning that "[f]lashing [text] should only be used to indicate imminent destruction of data or the program".[11]

The blink element has been consistently criticized by usability and accessibility experts. In 1996 Jakob Nielsen described the element as "simply evil" in his Alertbox column Top Ten Mistakes in Web Design.[12] The World Wide Web Consortium's Web Content Accessibility Guidelines (WCAG) 1.0 state that content authors should avoid causing the screen to flicker or blink, noting that such effects can cause problems for people with cognitive disabilities or photosensitive epilepsy.[13]

The United States Access Board states that pages should "not use flashing or blinking text, objects, or other elements having a flash or blink frequency greater than 2 Hz and lower than 55Hz."[14]

The Germany Federal Government's Barrierefreie Informationstechnik-Verordnung (Accessible Information Technology Ordinance) also states that flickering or blinking content should be avoided.[15]

To comply with the User Agent Accessibility Guidelines a user agent must either "[a]llow configuration to render animated or blinking text content as motionless, unblinking text" or never blink text.[16] Mozilla Firefox satisfied this requirement by providing a hidden configuration option to disable blinking,[5] browser.blink_allowed, which could be accessed through about:config. The blinking feature has been disabled altogether since version 23.[6]

See also

References

  1. 1.0 1.1 1.2 "<blink>: The Blinking Text element" (in en-US). Mozilla. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blink. 
  2. 2.0 2.1 2.2 Montulli, Lou. "The Origins of the <Blink> Tag". http://www.montulli.org/theoriginofthe%3Cblink%3Etag. 
  3. Eaton, Kit (2013-08-07). "Saying Goodbye To The HTML Blink Tag" (in en-US). Fast Company. https://www.fastcompany.com/3015408/saying-goodbye-to-the-html-tag. 
  4. Bos, Bert (1999-11-10). "HTML40, but with BLINK added". World Wide Web Consortium. http://www.w3.org/Style/HTML40-plus-blink.dtd. "This is basically just HTML40, but with BLINK added...The BLINK is merely added as a joke." 
  5. 5.0 5.1 "VPAT for Firefox 3.0 and 3.5". Mozilla. 2009-07-13. http://www.mozilla.com/en-US/firefox/vpat.html. ""When pages use the HTML <blink> tag, Firefox uses a 1 Hz duty cycle with the text visible for 3/4 of each cycle."" 
  6. 6.0 6.1 "Firefox 23 Release Notes". Mozilla. 6 August 2013. https://www.mozilla.org/en-US/firefox/23.0/releasenotes/. "...Dropped blink effect from text-decoration: blink; and completely removed <blink> element..." 
  7. Raggett, Dave; Lam, Jenny; Alexander, Ian; Kmiec, Michael (1998). "Chapter 2 - A history of HTML". World Wide Web Consortium. https://www.w3.org/People/Raggett/book4/ch02.html. "The BLINK tag was ousted in an HTML ERB meeting. Netscape would only abolish it if Microsoft agreed to get rid of MARQUEE; the deal was struck and both tags disappeared." 
  8. Shankland, Stephen; King, Mary (16 April 2022). "20 Hidden Google Search Easter Eggs to Hunt For". CNET. https://www.cnet.com/tech/services-and-software/20-hidden-google-search-easter-eggs-to-hunt-for/. "Type blink HTML into the search box, and you'll get a list of search results where the words "blink" and "HTML" are blinking." 
  9. "core/java/android/view/LayoutInflater.java - platform/frameworks/base". Android Open Source Project, Google. https://android.googlesource.com/platform/frameworks/base/+/49e7040b926280b8decbeee87b532eb6b55d7e58/core/java/android/view/LayoutInflater.java#146. "146 private static final String TAG_1995 = "blink";" 
  10. "Underlining, overlining, striking, and blinking: the 'text-decoration' property". CSS Working Group, World Wide Web Consortium. https://www.w3.org/TR/2011/REC-CSS2-20110607/text.html#lining-striking-props. 
  11. Meyers, Joe; Tognazzini, Bruce (1982). "Displays" (in en-US). Apple IIe Design Guidelines. Cupertino, California: Apple Inc.. p. 38. https://archive.org/download/apple-iie-design-guidelines/Apple%20IIe%20Design%20Guidelines.pdf. Retrieved 24 July 2023. "Flashing [text] should only be used to indicate imminent destruction of data or the program." 
  12. Nielsen, Jakob (April 30, 1996). "Original Top Ten Mistakes in Web Design". https://www.nngroup.com/articles/original-top-ten-mistakes-in-web-design/. "Of course, <BLINK> is simply evil. Enough said." 
  13. Chisholm, Wendy; Vanderheiden, Gregg; Jacobs, Ian (5 May 1999). "Web Content Accessibility Guidelines 1.0". World Wide Web Consortium. http://www.w3.org/TR/WCAG10/. 
  14. "Revised 508 Standards and 255 Guidelines". United States Access Board. 18 January 2017. https://www.access-board.gov/ict/#d21. "Software shall not use flashing or blinking text, objects, or other elements having a flash or blink frequency greater than 2 Hz and lower than 55 Hz." 
  15. "BITV — Einzelnorm". gesetze-im-internet.de. 12 September 2011. http://www.gesetze-im-internet.de/bitv_2_0/BJNR184300011.html. 
  16. "User Agent Accessibility Guidelines 1.0". World Wide Web Consortium. 17 December 2002. https://www.w3.org/TR/UAAG/guidelines.html. "Allow configuration to render animated or blinking text content as motionless, unblinking text." 

External links