HTML5 `<link rel="shortcut icon" />`
HtmlFaviconRelHtml Problem Overview
The WHATWG document for HTML5 says that the rel
attribute must contain values that are space-separated, and then it gives a table of allowed values.
> The attribute's value must be a set of space-separated tokens. The allowed keywords and their meanings...
The list of allowed keywords for the link
element does not include shortcut
, but it does include icon
. So I'm looking at the all-too-well-known tag
<link rel="shortcut icon" href="/favicon.ico" />
and wondering if it is HTML5-compliant. Should I remove the keyword shortcut
from this tag throughout my Website?
Html Solutions
Solution 1 - Html
From the same WHATWG document:
> For historical reasons, the icon keyword may be preceded by the > keyword "shortcut". If the "shortcut" keyword is present, it must be > come immediately before the icon keyword and the two keywords must be > separated by only a single U+0020 SPACE character.
Solution 2 - Html
Update: According to this page https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types
> The shortcut link type is often seen before icon, but this link type > is non-conforming, ignored and web authors must not use it anymore.
Also, I don't see any references of shortcut in the W3Schools documentation, so I think it's better to leave it out. https://www.w3schools.com/tags/att_link_rel.asp
Solution 3 - Html
Although it is still in its experimental stage (because HTML5 dev is ongoing), the http://validator.w3.org/#validate_by_uri+with_options">w3.org HTML5 Markup Validator is a good online tool you can check out. I used it extensively about 6 months ago and it always gave back accurate HTML5 syntax reports.
Solution 4 - Html
I have tested this code on Google Chrome, Mozilla Firefox, Internet explorer, and Microsoft Edge, and the only browser that didn't work was Edge. When add Favorite from a page made on harddrive ex c:\temp\test.html
<html>
<head>
<meta http-equiv="expires" content="0"><!-- Never caches the page -->
<link id="favicon" rel="shortcut icon" href="icon_32.ico">
</head>
<body>
...
</body>
</html>