top of page




Similarly, for a and area elements with an href attribute and a rel attribute, links must be created for the keywords of the rel attribute as defined for those keywords in the link types section. Unlike link elements, however, a and area element with an href attribute that either do not have a rel attribute, or whose rel attribute has no keywords that are defined as specifying hyperlinks, must also create a hyperlink. This implied hyperlink has no special meaning (it has no link type) beyond linking the element's document to the resource given by the element's href attribute.


The rel attribute on a and area elements controls what kinds of links the elements create. The attribue's value must be a set of space-separated tokens. The allowed keywords and their meanings are defined below.

The first link, a, or area element in the document (in tree order) with the alternate keyword used with the type attribute set to the value application/rss+xml or the value application/atom+xml must be treated as the default syndication feed for the purposes of feed autodiscovery.

For a and area elements, the author keyword indicates that the referenced document provides further information about the author of the nearest article element ancestor of the element defining the hyperlink, if there is one, or of the page as a whole, otherwise.

Synonyms: For historical reasons, user agents must also treat link, a, and area elements that have a rev attribute with the value "made" as having the author keyword specified as a link relationship.

The bookmark keyword gives a permalink for the nearest ancestor article element of the linking element in question, or of the section the linking element is most closely associated with, if there are no ancestor article elements.

If either width string or height string start with a U+0030 DIGIT ZERO (0) character or contain any characters other than characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this keyword doesn't represent anything. Abort these steps for that keyword.

In the absence of a link with the icon keyword, for Documents obtained over HTTP or HTTPS, user agents may instead attempt to fetch and use an icon with the absolute URL obtained by resolving the URL "/favicon.ico" against the document's address, as if the page had declared that icon using the icon keyword.

The nofollow keyword may be used with a and area elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the implied hyperlink, if no other keywords create one).

The nofollow keyword indicates that the link is not endorsed by the original author or publisher of the page, or that the link to the referenced document was included primarily because of a commercial relationship between people affiliated with the two pages.

The noreferrer keyword may be used with a and area elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the implied hyperlink, if no other keywords create one).

If a user agent follows a link defined by an a or area element that has the noreferrer keyword, the user agent must not include a Referer (sic) HTTP header (or equivalent for other protocols) in the request.

If the alternate keyword is also specified on the link element, then the link is an alternative stylesheet; in this case, the title attribute must be specified on the link element, with a non-empty value.

A list of other keyword values that have exactly the same processing requirements. Authors should not use the values defined to be synonyms, they are only intended to allow user agents to support legacy content. Anyone may remove synonyms that are not used in practice; only names that need to be processed as synonyms for compatibility with legacy content are to be registered in this way.

If a keyword is added with the "proposed" status and found to be redundant with existing values, it should be removed and listed as a synonym for the existing value. If a keyword is added with the "proposed" status and found to be harmful, then it should be changed to "discontinued" status.

It's better to provide only favicon.ico and not favicon.png, because:An .ico is a container for multiple .bmp or .png files. If you specify one default favicon.png, and if that favicon.png overrides the favicon.ico, you are giving up control over how the favicon looks at different resolutions and allowing the browser to do all resizing. For example, you might want the 64x64 version to contain text and the 16x16 version to not display the text at all, since at 16x16 it would be unreadable anyway.

More about this at Stack Overflow: favicon.png vs favicon.ico - why should I use PNG instead of ICO?. Note that the text in the chosen answer about alpha transparency is incorrect. See the 2nd answer.

If you don't have favicon.ico in the root consider adding one, or returning a HTTP 204 instead.Many tools and services e.g. bookmarking sites, feed readers, web crawlers etc., request afavicon.ico from the site root, and so recieve a HTTP 404 if it's not present. In the worstcase some frameworks will return a custom error page which is likely to be many times largerthan the missing favicon.

In March 1999, Microsoft released Internet Explorer 5, which supported favicons for the first time.[4] Originally, the favicon was a file called favicon.ico placed in the root directory of a website. It was used in Internet Explorer's favorites (bookmarks) and next to the URL in the address bar if the page was bookmarked.[5][6][7][4] A side effect was that the number of visitors who had bookmarked the page could be estimated by the requests of the favicon. This side effect no longer works, as all modern browsers load the favicon file to display in their web address bar, regardless of whether the site is bookmarked.[6]

Keyword searches are created as new Site searches in Chrome under the Search engine Settings. By default, typing the keyword in Chrome's Omnibox (address bar) then tapping on space or tab, then entering the query and hitting return will use this keyword search.

Since keyword searches in Firefox are stored as bookmarks, it's possible to import them.The steps below show you how to import the keyword searches described below in Examples of keyword search URLs.

The api:equals keyword compares the value of an attribute to a reference value. Unlike api:check, the api:equals keyword will throw an exception if the specified item does not contain the specified attribute. If the specified attribute exists and its value matches, then the comparison will succeed.

The important method is AddAFavicon, which downloads the icon, then adds it to the UI. We want to make this method asynchronous, so that the UI thread is free to respond to user actions during the download. The first step is to add the async keyword to the method. It appears in the method signature in the same way that the static keyword does.

Then, we need to wait for the download using the await keyword. In terms of C# syntax, await acts as a unary operator, like the ! not operator, or the (type) cast operator. It is placed to the left of an expression and means to wait for that expression asynchronously.

The async keyword appears in the declaration of a method, just like the public or static keywords do. Despite that, async is not part of the signature of the method, in terms of overriding other methods, implementing interfaces, or being called.

The only effect that the async keyword has is on the compilation of the method to which it is applied, unlike the other keywords that are applied to a method, which change how it interacts with the outside world. Because of this, the rules around overriding methods and implementing interfaces completely ignore the async keyword.

You may have noticed that we used the new keyword for creating LeafIcon instances. So why do all Leaflet classes get created without it? The answer is simple: the real Leaflet classes are named with a capital letter (e.g. L.Icon), and they also need to be created with new, but there are also shortcuts with lowercase names (L.icon), created for convenience like this:

Firefox 74.0 exhibits this behaviour too. Intermittent requests are made for 'favicon.ico' at the host's root (i.e. GET /favicon.ico) despite the source document specifying alternate, non-root href paths via rel="icon".

The sizes attribute gives the sizes of icons for visual media. Itsvalue, if present, is merely advisory. If specified, the attribute[...] The attribute must only be specified on link elements thathave a rel attribute that specifies the icon keyword or theapple-touch-icon keyword.

In older versions of Safari for iOS, the precomposed keyword could be used to prevent iOS from adding different visualeffects to the touch icon (i.e., rounded corners, drop shadow,reflective shine). Starting with iOS 7, no special effects are appliedto touch icons, so there is no need to use the precomposedkeyword anymore.

In the example, the color attribute sets the display color of the image. That attribute can specify a single color with a hexadecimal value (#990000), an RGB value (rgb(153, 0, 0)), or a recognized color-keyword, such as: red, lime, or navy.

You can search for icons by keyword or browse icon sets by the creator. Creative Market will even suggest other assets you might be interested in. This can bring up some options you may not have otherwise seen.

Iconshock is a library of over 400 icon sets in various styles, grouped by industry and subject. Once you find an icon style you like, you can search for keywords in that style only to find icons for your project.

Experiment with these and see which one does the best job for you. Then, simply drop the resulting favicon.ico file (do not rename it, it needs to be called favicon.ico) into your www folder, on the same level as your index.html file. Reload your browser a few times, refresh your server through Cyberduck and the icon will appear shortly. 041b061a72


bottom of page