Many of the abstract modules in this document define the required attributes for their elements. The table below defines some collections of attributes that are referenced throughout the modules.
These expressions should in no way be considered normative or mandatory. They are an editorial convenience for this document. When used in the remainder of this section, it is the expansion of the
term that is normative, not the term itself.

The following basic attribute sets are used on many elements. In each case where they are used, their use is identified via their collection name.

This attribute assigns one or more class names to an element; the element may be said to belong to these classes. A class name may be shared by several element instances.

The class attribute can be used for different purposes in XHTML, for instance as a style sheet selector (when an author wishes to assign style information to a set of elements), and for general purpose processing by user agents.

For instance in the following example, the p element is used in conjunction with the class attribute to identify a particular type of paragraph.

<p class="note">
These programs are only available if you have purchased
the advanced professional suite.
</p>

Style sheet rules can then be used to render the paragraph appropriately, for instance by putting a border around it, giving it a different background colour, or where necessary by not displaying
it at all.

This attribute offers advisory information about the element for which it is set.

Values of the title attribute may be rendered by user agents in a variety of ways. For instance, visual
browsers should display the title as a "tool tip" (a short message that appears when the pointing device pauses over an object). Audio user agents may speak the title information in a similar
context.

The closest parent element that has the xml:lang attribute set (i.e., the xml:lang attribute is inherited).

The HTTP "Content-Language" header (which may be configured in a server).

In this example, the primary language of the document is French ("fr"). One paragraph is declared to be in US English ("en-us"), after which the primary language returns to French. The following
paragraph includes an embedded Japanese ("ja") phrase, after which the primary language returns to French.

This attribute specifies the base direction of the element's text content. This direction overrides the inherent directionality of characters as defined in [UNICODE], and defines directional properties of text as defined by CSS2 [CSS2]. Possible values:

ltr: Left-to-right text. The effect of this attribute is defined by the CSS2 rule:

*[dir="ltr"] { unicode-bidi: normal; direction: ltr}

rtl: Right-to-left text. The effect of this attribute is defined by the CSS2 rule:

*[dir="rtl"] { unicode-bidi: normal; direction: rtl}

lro: Left-to-right override. The effect of this attribute is defined by the CSS2 rule:

*[dir="lro"] { unicode-bidi: bidi-override; direction: ltr}

rlo: Right-to-left override. The effect of this attribute is defined by the CSS2 rule:

*[dir="rlo"] { unicode-bidi: bidi-override; direction: rtl}

Example:

improve bidi example

<p dir="ltr">
I received the following email:
<l dir="lro">english werbeh english</l>
<l dir="lro">werbeh english werbeh</l>
</p>

changed: the content has changed considerably, therefore making it not worth being marked up with values of inserted and deleted

moved: the content has been moved from some other part of the document.

The default presentation for an element with edit="deleted" is display: none (in other words, it is not displayed) although an alternate style might display it as crossed
through. The other three values cause no special presentation by default, though an alternate style might use background colors or other text decoration to indicate the changed text.

The value of this attribute is a URI that designates a source document or message. This attribute is intended to give further information about the element's contents (e.g., the source from which
a quotation was borrowed, or the reason text was inserted or deleted). User Agents should provide a means for the user to access the further information.

This attribute assigns an access key to an element. An access key is a single character from the document character set.
Note. Authors should consider the input method of the expected reader when specifying an accesskey.

Pressing an access key assigned to an element gives focus to the element. The action that occurs when an element receives focus
depends on the element. For example, when a user activates a link defined by the a element, the user agent generally follows the link.
When a user activates a radio button, the user agent changes the value of the radio button. When the user activates a text field, it allows input, etc.

In this example, we assign the access key "C" to a link. Typing this access key takes the user to another document, in this case, a table of contents.

The invocation of access keys depends on the underlying system. For instance, on machines running MS Windows, one generally has to press the "alt" key in addition to the access key. On Apple
systems, one generally has to press the "cmd" key in addition to the access key.

The rendering of access keys depends on the user agent. We recommend that authors include the access key in label text or wherever the access key is to apply. User agents should render the value
of an access key in such a way as to emphasize its role and to distinguish it from other characters (e.g., by underlining it).

This attribute specifies the position of the current element in the navigation order for the current document. This value must be a number between 0 and 32767. User agents must ignore leading
zeros.

The navigation order defines the order in which elements will receive focus when navigated by the user via the keyboard. The
navigation order may include elements nested within other elements.

Elements that may receive focus should be navigated by user agents according to the following rules:

Those elements that support the navindex attribute and assign a positive value to it are navigated
first. Navigation proceeds from the element with the lowest navindex value to the element with the
highest value. Values need not be sequential nor need they begin with any particular value. Elements that have identical navindex values should be navigated in the order they appear in the character stream.

Those elements that do not support the navindex attribute or support it and assign it a value of "0"
are navigated next. These elements are navigated in the order they appear in the character stream.

When a document is loaded using a URL that includes a fragment reference (such as book.html#chapter5) navigation begins at the point the fragment begins. If the user has moved away
from that point (for instance using page up or page down), the navigation starting point is undefined.

The following example would allow the links to be navigated in column order (without the use of navindex they would be navigated in document, i.e. row, order):

Navigation keys. The actual key sequence that causes navigation or element activation depends on the configuration of the user agent (e.g., the "tab" key might be used for
navigation and the "enter" key or "space" key used to activate a selected element).

User agents may also define key sequences to navigate the navigation order in reverse. When the end (or beginning) of the navigation order is reached, user agents may circle back to the
beginning (or end).

This attribute specifies the base URI from which to resolve relative URIs. It is normatively defined in [XMLBASE]. Any relative URI used on
an element that uses this attribute, or on an element contained within an element that uses this attribute, shall be resolved relative to the base URI defined by this attribute.

An element inherits URI base information according to the following order of precedence (highest to lowest):

This collection causes the contents of a remote resource to be embedded in the document in place of the element's content. If accessing the remote resource fails, for whatever reason (network
unavailable, no resource available at the URI given, inability of the user agent to process the type of resource) the content of the element must be processed instead.

This attribute specifies the allowable content types of the relevant src URI. At its most general, it is a
comma-separated list of media ranges with optional accept parameters, as defined in section 14.1 of [RFC2616] as the field value of the accept
request header.

In its simplest case, this is just a media type, such as "image/png" or "application/xml", but it may also contain asterisks, such as "image/*" or "*/*", or lists of acceptable media types, such
as "image/png, image/gif, image/jpeg".

The user agent must take this list, and combine it with its own list of acceptable media types by taking the intersection, and then use the resulting list as the field value of the accept request
header when requesting the resource.

For instance, if the attribute specifies the value "image/png, image/gif, image/jpeg", but the user agent does not accept images of type "image/gif" then the resultant accept header would contain
"image/png, image/jpeg".

If this attribute is not present, "*/*" is used for its value.

For the current list of registered content types, please consult [MIMETYPES].

This attribute indicates that the associated image is to be treated as a "server-side image map". When selected, the coordinates within the element that the user selected are sent to the server
where the document resides. Screen coordinates are expressed as screen pixel values relative to the image, and start at (0,0) at the top left corner.

In the following example, the active region defines a server-side link. Thus, a click anywhere on the image will cause the click's coordinates to be sent to the server.

The location clicked is passed to the server as follows. The user agent derives a new URI from the URI specified by the href attribute of the a element, by appending `?'
followed by the x and y coordinates, separated by a comma. The link is then followed using the new URI. For instance, in the given example, if the user clicks at the location x=10, y=27 then the
derived URI is "http://www.example.com/cgi-bin/competition?10,27".

User agents that do not offer the user a means to select specific coordinates (e.g., non-graphical user agents that rely on keyboard input, speech-based user agents, etc.) should send the
coordinates "0,0" to the server when the link is activated.

This attribute specifies the position and shape of the area. The number and order of values depends on the shape being defined. Possible combinations:

rect: left-x, top-y, right-x, bottom-y.

circle: center-x, center-y, radius. Note. When the radius value is a percentage value, user agents should calculate the final radius value based on the associated
object's width and height. The radius should be the smaller value of the two.

poly: x1, y1, x2, y2, ..., xN, yN. The first x and y coordinate pair and the last should be the same to close the polygon. When these coordinate values are not the same, user agents
should infer an additional coordinate pair to close the polygon.

Coordinates are relative to the top, left corner of the object. All values are of type Length. All values are separated by
commas.

Note that in the following example, if the image is unavailable for any reason, the fallback properties of the href attribute mean that the <nl> will be displayed instead of the image, thus making the page still useful:

The global attributes from [XMLEVENTS] are included in the Events attribute collection. The normative definition of those attributes and
their semantics is included in that specification. They are described briefly below:

This attribute specifies the id of the target element of the event (i.e., the node that caused the event). If not specified, the default value of this attribute is the element on which the event
attribute is specified.

Note that these attributes are not in the XHTML namespace. Instead, they are in the XML Events namespace. The XHTML namespace is the default namespace for XHTML documents, so
XHTML elements and attributes do not require namespace prefixes (although they are permitted). XML Events attributes MUST use a prefix, since they are not in the default namespace of the
document.