A vocabulary and associated APIs for HTML and XHTML
Links are a conceptual construct, created by a,
  area, and link elements, that represent a connection between two
  resources, one of which is the current Document. There
  are two kinds of links in HTML:
These are links to resources that are to be used to augment the current document, generally automatically processed by the user agent.
These are links to other resources that are generally exposed to the user by the user agent so that the user can cause the user agent to navigate to those resources, e.g. to visit them in a browser or download them.
For link 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.
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.
A hyperlink can have one or more hyperlink annotations that modify the processing semantics of that hyperlink.
a and area elementsThe href
  attribute on a and area elements must have
  a value that is a valid URL potentially surrounded by
  spaces.
The href
  attribute on a and area elements is not
  required; when those elements do not have href attributes they do not
  create hyperlinks.
The target
  attribute, if present, must be a valid browsing context name
  or keyword. It gives the name of the browsing
  context that will be used. User agents use
  this name when following hyperlinks.
When an a or area element's
  activation behavior is invoked, the user agent may
  allow the user to indicate a preference regarding whether the
  hyperlink is to be used for navigation
  or whether the resource it specifies is to be downloaded.
In the absence of a user preference, the default should be
  navigation if the element has no download attribute, and
  should be to download the specified resource if it does.
Whether determined by the user's preferences or via the presence or absence of the attribute, if the decision is to use the hyperlink for navigation then the user agent must follow the hyperlink, and if the decision is to use the hyperlink to download a resource, the user agent must download the hyperlink. These terms are defined in subsequent sections below.
The download
  attribute, if present, indicates that the author intends the
  hyperlink to be used for downloading a resource. The attribute may
  have a value; the value, if any, specifies the default file name that
  the author recommends for use in labeling the resource in a local
  file system. There are no restrictions on allowed values, but
  authors are cautioned that most file systems have limitations with
  regard to what punctuation is supported in file names, and user
  agents are likely to adjust file names accordingly.
The rel
  attribute on a and area elements controls
  what kinds of links the elements create. The attribute's value must
  be a set of space-separated tokens. The allowed keywords and their meanings are
  defined below.
The rel attribute has
  no default value. If the attribute is omitted or if none of the
  values in the attribute are recognized by the user agent, then the
  document has no particular relationship with the destination
  resource other than there being a hyperlink between the two.
The hreflang
  attribute on a and area elements that
  create hyperlinks, if present, gives
  the language of the linked resource. It is purely advisory. The
  value must be a valid BCP 47 language tag. [BCP47] User agents must
  not consider this attribute authoritative — upon fetching the
  resource, user agents must use only language information associated
  with the resource to determine its language, not metadata included
  in the link to the resource.
The type
  attribute, if present, gives the MIME type of the
  linked resource. It is purely advisory. The value must be a
  valid MIME type. User agents must
  not consider the type
  attribute authoritative — upon fetching the resource, user
  agents must not use metadata included in the link to the resource to
  determine its type.
When a user follows a hyperlink created by an element subject, the user agent must run the following steps:
Let replace be false.
Let source be the browsing context that contains the
   Document object with which subject in question is
   associated.
If the user indicated a specific browsing context when following the hyperlink, or if the user agent is configured to follow hyperlinks by navigating a particular browsing context, then let target be that browsing context.
Otherwise, if subject is an a or area element
    that has a target attribute, then let target be the browsing context that is chosen by applying the
    rules for choosing a browsing context given a browsing context name, using the value of
    the target attribute as the browsing context name. If
    these rules result in the creation of a new browsing context, set replace to true.
Otherwise, if target is an a or area element
     with no target attribute, but the
     Document contains a base element with a target attribute, then let target be the
     browsing context that is chosen by applying the rules for choosing a browsing
     context given a browsing context name, using the value of the target attribute of the first such base element as
     the browsing context name. If these rules result in the creation of a new browsing
     context, set replace to true.
Otherwise, let target be the browsing context that subject itself is in.
Resolve the URL given by the href attribute of that element, relative to that
   element.
If that is successful, let URL be the resulting absolute URL.
Otherwise, if resolving the URL failed, the user agent may report the error to the user in a user-agent-specific manner, may queue a task to navigate the target browsing context to an error page to report the error, or may ignore the error and do nothing. In any case, the user agent must then abort these steps.
In the case of server-side image maps, append the hyperlink suffix to URL.
Queue a task to navigate the target browsing context to URL. If replace is true, the navigation must be performed with replacement enabled. The source browsing context must be source.
The task source for the tasks mentioned above is the DOM manipulation task source.
In some cases, resources are intended for later use rather than
  immediate viewing. To indicate that a resource is intended to be
  downloaded for use later, rather than immediately used, the download attribute can be
  specified on the a or area element that
  creates the hyperlink to that resource.
The attribute can furthermore be given a value, to specify the
  file name that user agents are to use when storing the resource in a
  file system. This value can be overridden by the Content-Disposition HTTP
  header's filename parameters. [RFC6266]
In cross-origin situations, the download attribute has to be
  combined with the Content-Disposition HTTP
  header, specifically with the attachment
  disposition type, to avoid the user being warned of possibly
  nefarious activity. (This is to protect users from being made to
  download sensitive personal or confidential information without
  their full understanding.)
When a user downloads a hyperlink created by an element, the user agent must run the following steps:
Resolve the
   URL given by the href attribute of that element,
   relative to that element.
If resolving the URL fails, the user agent may report the error to the user in a user-agent-specific manner, may navigate to an error page to report the error, or may ignore the error and do nothing. In either case, the user agent must abort these steps.
Otherwise, let URL be the resulting absolute URL.
In the case of server-side image maps, append the hyperlink suffix to URL.
Return to whatever algorithm invoked these steps and continue these steps asynchronously.
Fetch URL and handle the resulting resource as a download.
When a user agent is to handle a resource obtained from a fetch algorithm as a download, it should provide the user with a way to save the resource for later use, if a resource is successfully obtained; or otherwise should report any problems downloading the file to the user.
If the user agent needs a file name for a resource being handled as a download, it should select one using the following algorithm.
This algorithm is intended to mitigate security dangers involved in downloading files from untrusted sites, and user agents are strongly urged to follow it.
Let filename be the void value.
If the resource has a Content-Disposition header,      
   that header specifies the attachment
   disposition type, and the header includes file name information,
   then let filename have the value specified by
   the header, and jump to the step labeled sanitize below. [RFC6266]
Let interface origin be the origin of the
   Document in which the download or
   navigate action resulting in the download was initiated, if any.
Let resource origin be the origin of the URL of the
   resource being downloaded, unless that URL's scheme
   component is data, in which case let resource origin be
   the same as the interface origin, if any.
If there is no interface origin, then let trusted operation be true. Otherwise, let trusted operation be true if resource origin is the same origin as interface origin, and false otherwise.
If trusted operation is true and the          
   resource has a Content-Disposition header
   and that header includes file name information, then let filename have the value specified by the header, and
   jump to the step labeled sanitize below. [RFC6266]
If the download was not initiated from a
   hyperlink created by an a or
   area element, or if the element of the
   hyperlink from which it was initiated did not have a
   download attribute
   when the download was initiated, or if there was such an attribute
   but its value when the download was initiated was the empty string,
   then jump to the step labeled no proposed file name.
Let proposed filename have the value of
   the download attribute
   of the element of the hyperlink that initiated the
   download at the time the download was initiated.
If trusted operation is true, let filename have the value of proposed filename, and jump to the step labeled sanitize below.
If the resource has a Content-Disposition header       
   and that header specifies the attachment
   disposition type, let filename have the value
   of proposed filename, and jump to the step
   labeled sanitize below. [RFC6266]
No proposed file name: If trusted operation is true, or if the user indicated a preference for having the resource in question downloaded, let filename have a value derived from the URL of the resource in a user-agent-defined manner, and jump to the step labeled sanitize below.
Act in a user-agent-defined manner to safeguard the user from a potentially hostile cross-origin download. If the download is not to be aborted, then let filename be set to the user's preferred file name or to a file name selected by the user agent, and jump to the step labeled sanitize below.
If the algorithm reaches this step, then a download was begun
     from a different origin than the resource being downloaded, and
     the origin did not mark the file as suitable for downloading, and
     the download was not initiated by the user. This could be because
     a download attribute
     was used to trigger the download, or because the resource in
     question is not of a type that the user agent supports.
This could be dangerous, because, for instance, a hostile server could be trying to get a user to unknowingly download private information and then re-upload it to the hostile server, by tricking the user into thinking the data is from the hostile server.
Thus, it is in the user's interests that the user be somehow notified that the resource in question comes from quite a different source, and to prevent confusion, any suggested file name from the potentially hostile interface origin should be ignored.
Sanitize: Optionally, allow the user to influence filename. For example, a user agent could prompt the user for a file name, potentially providing the value of filename as determined above as a default value.
Adjust filename to be suitable for the local file system.
For example, this could involve removing characters that are not legal in file names, or trimming leading and trailing whitespace.
If the platform conventions do not in any way use extensions to determine the types of file on the file system, then return filename as the file name and abort these steps.
Let claimed type be the type given by the resource's Content-Type metadata, if any is known. Let named type be the type given by filename's extension, if any is known. For the purposes of this step, a type is a mapping of a MIME type to an extension.
If named type is consistent with the user's preferences (e.g. because the value of filename was determined by prompting the user), then return filename as the file name and abort these steps.
If claimed type and named type are the same type (i.e. the type given by the resource's Content-Type metadata is consistent with the type given by filename's extension), then return filename as the file name and abort these steps.
If the claimed type is known, then alter filename to add an extension corresponding to claimed type.
Otherwise, if named type is known to be
    potentially dangerous (e.g. it will be treated by the platform
    conventions as a native executable, shell script, HTML
    application, or executable-macro-capable document) then optionally
    alter filename to add a known-safe extension (e.g. ".txt").
This last step would make it impossible to download executables, which might not be desirable. As always, implementors are forced to balance security and usability in this matter.
Return filename as the file name.
For the purposes of this algorithm, a file extension consists of any part of
  the file name that platform conventions dictate will be used for
  identifying the type of the file. For example, many operating
  systems use the part of the file name following the last dot (".") in the file name to determine the type of the
  file, and from that the manner in which the file is to be opened or
  executed.
User agents should ignore any directory or path information
  provided by the resource itself, its URL, and any download attribute, in
  deciding where to store the resulting file in the user's file
  system.
The following table summarizes the link types that are defined by this specification. This table is non-normative; the actual definitions for the link types are given in the next few sections.
In this section, the term referenced document refers to the resource identified by the element representing the link, and the term current document refers to the resource within which the element representing the link finds itself.
To determine which link types apply to a link,
  a, or area element, the element's rel attribute must be split on spaces. The resulting tokens are the link
  types that apply to that element.
Except where otherwise specified, a keyword must not be specified
  more than once per rel
  attribute.
Link types are always ASCII case-insensitive, and must be compared as such.
Thus, rel="next" is the
  same as rel="NEXT".
| Link type | Effect on... | Brief description | |
|---|---|---|---|
| link | aandarea | ||
| alternate | Hyperlink | Hyperlink | Gives alternate representations of the current document. | 
| author | Hyperlink | Hyperlink | Gives a link to the author of the current document or article. | 
| bookmark | not allowed | Hyperlink | Gives the permalink for the nearest ancestor section. | 
| help | Hyperlink | Hyperlink | Provides a link to context-sensitive help. | 
| icon | External Resource | not allowed | Imports an icon to represent the current document. | 
| license | Hyperlink | Hyperlink | Indicates that the main content of the current document is covered by the copyright license described by the referenced document. | 
| next | Hyperlink | Hyperlink | Indicates that the current document is a part of a series, and that the next document in the series is the referenced document. | 
| nofollow | not allowed | Annotation | Indicates that the current document's original author or publisher does not endorse the referenced document. | 
| noreferrer | not allowed | Annotation | Requires that the user agent not send an HTTP Referer(sic) header if the user follows the hyperlink. | 
| prefetch | External Resource | External Resource | Specifies that the target resource should be preemptively cached. | 
| prev | Hyperlink | Hyperlink | Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document. | 
| search | Hyperlink | Hyperlink | Gives a link to a resource that can be used to search through the current document and its related pages. | 
| stylesheet | External Resource | not allowed | Imports a stylesheet. | 
| tag | not allowed | Hyperlink | Gives a tag (identified by the given address) that applies to the current document. | 
Some of the types described below list synonyms for these values. These are to be handled as specified by user agents, but must not be used in documents.
alternate"The alternate keyword may be
  used with link, a, and area
  elements.
The meaning of this keyword depends on the values of the other attributes.
link element and the rel attribute also contains the
   keyword stylesheetThe alternate keyword
    modifies the meaning of the stylesheet keyword in the way
    described for that keyword. The alternate keyword does not create a
    link of its own.
alternate keyword is
   used with the type
   attribute set to the value application/rss+xml or the value application/atom+xmlThe keyword creates a hyperlink referencing a syndication feed (though not necessarily syndicating exactly the same content as the current page).
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.
The following link element gives the syndication
     feed for the current page:
<link rel="alternate" type="application/atom+xml" href="data.xml">
The following extract offers various different syndication feeds:
<p>You can access the planets database using Atom feeds:</p> <ul> <li><a href="recently-visited-planets.xml" rel="alternate" type="application/atom+xml">Recently Visited Planets</a></li> <li><a href="known-bad-planets.xml" rel="alternate" type="application/atom+xml">Known Bad Planets</a></li> <li><a href="unexplored-planets.xml" rel="alternate" type="application/atom+xml">Unexplored Planets</a></li> </ul>
The keyword creates a hyperlink referencing an alternate representation of the current document.
The nature of the referenced document is given by the hreflang, and type attributes.
If the alternate keyword is
    used with the hreflang
    attribute, and that attribute's value differs from the root
    element's language, it indicates that the
    referenced document is a translation.
If the alternate keyword is
    used with the type
    attribute, it indicates that the referenced document is a
    reformulation of the current document in the specified format.
The hreflang and type attributes can be combined when specified with the alternate keyword.
For example, the following link is a French translation that uses the PDF format:
<link rel=alternate type=application/pdf hreflang=fr href=manual-fr>
This relationship is transitive — that is, if a document
    links to two other documents with the link type "alternate", then, in addition to
    implying that those documents are alternative representations of
    the first document, it is also implying that those two documents
    are alternative representations of each other.
author"The author keyword may be
  used with link, a, and area
  elements. This keyword creates a hyperlink.
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.
For link elements, the author keyword indicates that the
  referenced document provides further information about the author
  for the page as a whole.
The "referenced document" can be, and often is, a
  mailto: URL giving the e-mail address of the
  author. [MAILTO]
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.
bookmark"The bookmark keyword may be
  used with a and area elements. This
  keyword creates a hyperlink.
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.
The following snippet has three permalinks. A user agent could determine which permalink applies to which part of the spec by looking at where the permalinks are given.
 ...
 <body>
  <h1>Example of permalinks</h1>
  <div id="a">
   <h2>First example</h2>
   <p><a href="a.html" rel="bookmark">This</a> permalink applies to
   only the content from the first H2 to the second H2. The DIV isn't
   exactly that section, but it roughly corresponds to it.</p>
  </div>
  <h2>Second example</h2>
  <article id="b">
   <p><a href="b.html" rel="bookmark">This</a> permalink applies to
   the outer ARTICLE element (which could be, e.g., a blog post).</p>
   <article id="c">
    <p><a href="c.html" rel="bookmark">This</a> permalink applies to
    the inner ARTICLE element (which could be, e.g., a blog comment).</p>
   </article>
  </article>
 </body>
 ...
  help"The help keyword may be used with
  link, a, and area
  elements. This keyword creates a hyperlink.
For a and area elements, the help keyword indicates that the referenced
  document provides further help information for the parent of the
  element defining the hyperlink, and its children.
In the following example, the form control has associated context-sensitive help. The user agent could use this information, for example, displaying the referenced document if the user presses the "Help" or "F1" key.
<p><label> Topic: <input name=topic> <a href="help/topic.html" rel="help">(Help)</a></label></p>
For link elements, the help keyword indicates that the referenced
  document provides help for the page as a whole.
For a and area elements, on some
  browsers, the help keyword causes the
  link to use a different cursor.
icon"The icon keyword may be used with
  link elements. This keyword creates an external resource link.
The specified resource is an icon representing the page or site, and should be used by the user agent when representing the page in the user interface.
Icons could be auditory icons, visual icons, or other kinds of
  icons. If multiple icons are provided, the user
  agent must select the most appropriate icon according to the type, media, and sizes attributes. If there are
  multiple equally appropriate icons, user agents must use the last
  one declared in tree order at the time that the user
  agent collected the list of icons. If the user agent tries to use an
  icon but that icon is determined, upon closer examination, to in
  fact be inappropriate (e.g. because it uses an unsupported format),
  then the user agent must try the next-most-appropriate icon as
  determined by the attributes.
User agents are not required to update icons when the list of icons changes, but are encouraged to do so.
There is no default type for resources given by the icon keyword. However, for the purposes of
  determining the type of the
  resource, user agents must expect the resource to be an image.
The sizes
  attribute gives the sizes of icons for visual media. Its value, if
  present, is merely advisory. User agents may use the value to decide
  which icon(s) to use if multiple icons are available.
If specified, the attribute must have a value that is an
  unordered set of unique space-separated tokens which
  are ASCII case-insensitive. Each value must be either
  an ASCII case-insensitive match for the string "any", or a value that consists of
  two valid non-negative
  integers that do not have a leading "0" (U+0030)
  character and that are separated by a single U+0078 LATIN SMALL
  LETTER X or U+0058 LATIN CAPITAL LETTER X character.
The keywords represent icon sizes.
To parse and process the attribute's value, the user agent must first split the attribute's value on spaces, and must then parse each resulting keyword to determine what it represents.
The any keyword
  represents that the resource contains a scalable icon, e.g. as
  provided by an SVG image.
Other keywords must be further parsed as follows to determine what they represent:
If the keyword doesn't contain exactly one U+0078 LATIN SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character, then this keyword doesn't represent anything. Abort these steps for that keyword.
Let width string be the string before
   the "x" or "X".
Let height string be the string after
   the "x" or "X".
If either width string or height string start with a "0" (U+0030) character or contain any characters other than ASCII digits, then this keyword doesn't represent anything. Abort these steps for that keyword.
Apply the rules for parsing non-negative integers to width string to obtain width.
Apply the rules for parsing non-negative integers to height string to obtain height.
The keyword represents that the resource contains a bitmap icon with a width of width device pixels and a height of height device pixels.
The keywords specified on the sizes attribute must not represent
  icon sizes that are not actually available in the linked
  resource.
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 following snippet shows the top part of an application with several icons.
<!DOCTYPE HTML> <html> <head> <title>lsForums — Inbox</title> <link rel=icon href=favicon.png sizes="16x16" type="image/png"> <link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon"> <link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768"> <link rel=icon href=iphone.png sizes="57x57" type="image/png"> <link rel=icon href=gnome.svg sizes="any" type="image/svg+xml"> <link rel=stylesheet href=lsforums.css> <script src=lsforums.js></script> <meta name=application-name content="lsForums"> </head> <body> ...
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.
license"The license keyword may be used
  with link, a, and area
  elements. This keyword creates a hyperlink.
The license keyword indicates
  that the referenced document provides the copyright license terms
  under which the main content of the current document is
  provided.
This specification defines the main content of a document and content that 
  is not deemed to be part of that main content via the main element. 
  The distinction should be made clear to the user.
Consider a photo sharing site. A page on that site might describe and show a photograph, and the page might be marked up as follows:
<!DOCTYPE HTML> <html> <head> <title>Exampl Pictures: Kissat</title> <link rel="stylesheet" href="/style/default"> </head> <body> <h1>Kissat</h1> <nav> <a href="../">Return to photo index</a> </nav> <main> <figure> <img src="/pix/39627052_fd8dcd98b5.jpg"> <figcaption>Kissat</figcaption> </figure> <p>One of them has six toes!</p> <p><small>This photograph is <a rel="license" href="http://www.opensource.org/licenses/mit-license.php">MIT Licensed</a></small></p> </main> <footer> <a href="/">Home</a> | <a href="../">Photo index</a> <p><small>© copyright 2009 Exampl Pictures. All Rights Reserved.</small></p> </footer> </body> </html>
In this case the license
   applies to just the photo (the main content of the document), not
   the whole document. In particular not the design of the page
   itself, which is covered by the copyright given at the bottom of
   the document. This should be made clear in the text referencing the licensing 
   link and could also be made clearer in the styling
   (e.g. making the license link prominently positioned near the
   photograph, while having the page copyright in light small text at
   the foot of the page, or adding a border to the main element.)
Synonyms: For historical reasons, user agents
  must also treat the keyword "copyright" like
  the license keyword.
nofollow"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.
noreferrer"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).
It indicates that no referrer information is to be leaked when following the link.
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.
This keyword also causes the opener attribute to remain null if the
  hyperlink creates a new browsing context.
prefetch"The prefetch keyword may be
  used with link, a, and area
  elements. This keyword creates an external resource link.
The prefetch keyword indicates
  that preemptively fetching and caching the specified resource is
  likely to be beneficial, as it is highly likely that the user will
  require this resource.
There is no default type for resources given by the prefetch keyword.
search"The search keyword may be used
  with link, a, and area
  elements. This keyword creates a hyperlink.
The search keyword indicates that
  the referenced document provides an interface specifically for
  searching the document and its related resources.
OpenSearch description documents can be used with
  link elements and the search link type to enable user agents to
  autodiscover search interfaces. [OPENSEARCH]
stylesheet"The stylesheet keyword may be
  used with link elements. This keyword creates an external resource link that
  contributes to the styling processing model.
The specified resource is a resource that describes how to present the document. Exactly how the resource is to be processed depends on the actual type of the resource.
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.
The default type for resources given by the stylesheet keyword is text/css.
The appropriate time to obtain the resource is when the external resource link is created or when its element is inserted into a document, whichever happens last. If the resource is an alternative stylesheet then the user agent may defer obtaining the resource until it is part of the preferred style sheet set. [CSSOM]
Quirk: If the document has been set to
  quirks mode, has the same origin as the
  URL of the external resource, and
  the Content-Type metadata of the
  external resource is not a supported style sheet type, the user
  agent must instead assume it to be text/css.
tag"The tag keyword may be used with
  a and area elements. This keyword creates
  a hyperlink.
The tag keyword indicates that the
  tag that the referenced document represents applies to the
  current document.
Since it indicates that the tag applies to the current document, it would be inappropriate to use this keyword in the markup of a tag cloud, which lists the popular tags across a set of pages.
This document is about some gems, and so it is tagged
   with "http://en.wikipedia.org/wiki/Gemstone"
   to unambiguously categorise it as applying to the "jewel" kind of
   gems, and not to, say, the towns in the US, the Ruby package
   format, or the Swiss locomotive class:
<!DOCTYPE HTML> <html> <head> <title>My Precious</title> </head> <body> <header><h1>My precious</h1> <p>Summer 2012</p></header> <p>Recently I managed to dispose of a red gem that had been bothering me. I now have a much nicer blue sapphire.</p> <p>The red gem had been found in a bauxite stone while I was digging out the office level, but nobody was willing to haul it away. The same red gem stayed there for literally years.</p> <footer> Tags: <a rel=tag href="http://en.wikipedia.org/wiki/Gemstone">Gemstone</a> </footer> </body> </html>
In this document, there are two articles. The "tag" link, however, applies to the whole
   page (and would do so wherever it was placed, including if it was
   within the article elements).
<!DOCTYPE HTML>
<html>
 <head>
  <title>Gem 4/4</title>
 </head>
 <body>
  <article>
   <h1>801: Steinbock</h1>
   <p>The number 801 Gem 4/4 electro-diesel has an ibex and was rebuilt in 2002.</p>
  </article>
  <article>
   <h1>802: Murmeltier</h1>
   <figure>
    <img src="http://upload.wikimedia.org/wikipedia/commons/b/b0/Trains_de_la_Bernina_en_hiver_2.jpg"
         alt="The 802 was red with pantographs and tall vents on the side.">
    <figcaption>The 802 in the 1980s, above Lago Bianco.</figcaption>
   </figure>
   <p>The number 802 Gem 4/4 electro-diesel has a marmot and was rebuilt in 2003.</p>
  </article>
  <p class="topic"><a rel=tag href="http://en.wikipedia.org/wiki/Rhaetian_Railway_Gem_4/4">Gem 4/4</a></p>
 </body>
</html>
  Some documents form part of a sequence of documents.
A sequence of documents is one where each document can have a previous sibling and a next sibling. A document with no previous sibling is the start of its sequence, a document with no next sibling is the end of its sequence.
A document may be part of multiple sequences.
next"The next keyword may be used with
  link, a, and area
  elements. This keyword creates a hyperlink.
The next keyword indicates that the
  document is part of a sequence, and that the link is leading to the
  document that is the next logical document in the sequence.
prev"The prev keyword may be used with
  link, a, and area
  elements. This keyword creates a hyperlink.
The prev keyword indicates that the
  document is part of a sequence, and that the link is leading to the
  document that is the previous logical document in the sequence.
Synonyms: For historical reasons, user agents
  must also treat the keyword "previous" like
  the prev keyword.
Extensions to the predefined set of link types may be registered in the microformats wiki existing-rel-values page. [MFREL]
Anyone is free to edit the microformats wiki existing-rel-values page at any time to add a type. Extension types must be specified with the following information:
The actual value being defined. The value should not be confusingly similar to any other defined value (e.g. differing only in case).
If the value contains a ":" (U+003A) character, it must also be an absolute URL.
linkOne of the following:
link
     elements.link element;
     it creates a hyperlink.link element;
     it creates an external resource link.a and areaOne of the following:
a and
     area elements.a and
     area elements; it creates a
     hyperlink.a and
     area elements; it creates an external resource
     link.a and
     area elements; it annotates other hyperlinks created by the element.A short non-normative description of what the keyword's meaning is.
A link to a more detailed description of the keyword's semantics and requirements. It could be another page on the Wiki, or a link to an external page.
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.
One of the following:
If a keyword is found to be redundant with existing values, it should be removed and listed as a synonym for the existing value.
If a keyword is registered in the "proposed" state for a period of a month or more without being used or specified, then it may be removed from the registry.
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.
Anyone can change the status at any time, but should only do so in accordance with the definitions above.
Conformance checkers may use the information given on the microformats wiki existing-rel-values page to establish if a value is allowed or not: values defined in this specification or marked as "proposed" or "ratified" must be accepted when used on the elements for which they apply as described in the "Effect on..." field, whereas values marked as "discontinued" or values not containing a U+003A COLON character but not listed in either this specification or on the aforementioned page must be reported as invalid. The remaining values must be accepted as valid if they are absolute URLs containing US-ASCII characters only and rejected otherwise. Conformance checkers may cache this information (e.g. for performance reasons or to avoid the use of unreliable network connectivity).
Note: Even URL-valued link types are compared ASCII-case-insensitively. Validators might choose to warn about characters U+0041 (LATIN CAPITAL LETTER A) through U+005A (LATIN CAPITAL LETTER Z) (inclusive) in the pre-case-folded form of link types that contain a colon.
When an author uses a new type not defined by either this specification or the Wiki page, conformance checkers should offer to add the value to the Wiki, with the details described above, with the "proposed" status.
Types defined as extensions in the microformats
  wiki existing-rel-values page with the status "proposed" or
  "ratified" may be used with the rel attribute
  on link, a, and area elements
  in accordance to the "Effect on..." field. [MFREL]