I list below all topic groups, which I have done according to subjects, which they handle. You can return to this topic group by using this menu and the link Table of topic groups on the top of the each page.
My listing is systematic. The
basic classification base on the document
tree (look at a
are basic structural elements to normal and frameset documents.
Then other child-elements of the element
those elements, which can be used also inside the element
BODY (I have listed some of them twice). Because
normally inline-level elements are inside block-level elements, I
have listed first elements, which can be used in block-level.
Form elements are classified in DTD-files among both inline- and
block-level elements, but I have listed them separately. I put
some old elements into an own group, because they don't fit
properly to other classifications.
Sub-classifications of elements base on behavioral and semantics matters. I have taken used terms from the Modularization of XHTML™, the HTML Home Page, the XHTML 1.0 Transitional DTD-file (xhtml1-transitional.dtd) - I don't regard any of them fully consistent and I have taken best features of them. In addition I have taken some features from the CSS2 specification (the classification to inline level non-replaced and replaced elements) and concerning the HTML 3.0 table from the HTML 3.0 Draft. I have collected together elements, which have the same usage, same content, same attributes and which are supported in the same document types.
If you want alphabetic listing, use rather the Index DOT Html by Brian Wilson (Blooberry). Most links in my table refer to that site.W3C: CSS2 specification, HTML Home Page, HTML 3.0 Draft, Modularization of XHTML™, xhtml1-transitional.dtd.
Following DTD-macros (parameter entity references) refer only to HTML 4.01 and XHTML 1.0 elements or attributes:
Note 1. In order to avoid unnecessary
repeat attributes, I have put to the second attribute list only a
reference, how it differs from the previous mentioned attribute
list (prev. +(...) or prev. -(...) = this document type has
following attributes more or less than the previous document
type). At this way the table is also more readable because the
difference is faster to find.
Note 2. You need a CSS-capable browser to see coloring: MS IE 4.x+ , Opera 3.51+ or Netscape 4.x+. Most of them can render the printed version with different colors. I have tested the table with following Windows browsers: MS IE 5.0, MS IE 5.5, Opera 4.0x and Netscape 4.04. Opera 4.02 Win and MS IE 5.5 Win render it fine and almost eidetic, but the appearance is not in Netscape 4.x, what is intended. The functionality is overall best with Opera 4.x+ (read however the next note).
Note 3. I added pop-up windows ([Pw]) to read my notes faster from them. If you use Opera, don't close pop-up windows before you leave tables. If you close a pop-up window and try to open in the same page a new window, Opera crashes. If you want to re-open the window, reload first the page (F5)/ frame (ALT-F5), which have the link of the pop-up window, which you want to open.
|Strict||Elements and attributes, which belongs to HTML 4.01/XHTML 1.0 Strict or to the basic DTD of XHTML 1.1.||A printing example.|
|Future||Possible future extensions in XHTML 1.1.||A printing example.|
|Transitional||Elements and attributes, which belong only to the HTML 4.01/XHTML 1.0 transitional document types or which are in the Modularization of XHTML additional modules in XHTML 1.1.||A printing example|
|Non-existing||HTML 2.0 and HTML 3.2 specifications list some
elements, which they regard as obsolete or
historical elements. Some obsolete elements refer
to HTML 2.0 or even to pre-HTML.
Some attributes have been in old specifications, but they are today obsolete. HTML 3.0 Draft has many proposed attributes to be added to future specifications, but they are nor in HTML 3.2 neither in the HTML 4.01/XHTML 1.0 specifications. All of them are non-existing attributes in HTML 4.01/XHTML 1.1.
|A printing example.|
|Proprietary||Proprietary attributes, elements and
proprietary usage of attributes.
I have put also the usage of the
I marked also such WML-elements and attributes, which don't belong to XHTML 1.0 with this color, because I handle WML 1.2 in my table as if a proprietary XHTML language. W3C: Name Identification Module.
|A printing example.|
|Required||In DTD-files is also marked, which are
required attributes and I have
marked them as red foreground color. Attributes, which are not
marked as red are called as implied attributes. This
matter concerns HTML 3.2, HTML 4.01 and XHTML 1.0. I have listed
also fixed attributes, which are not always
necessary to mark.
Note. Some elements have certain required child-element(s). Even it this matter can be read from the content information, I have marked also required child-elements as red.
|A printing example.|
I have used two abbreviations. P mean pre-HTML (HTML before the official HTML 2.0 recommendation) and B means XHTML Basic™.
Note: XHTML Basic. XHTML Basic™ is the "mother" of all languages, which belong to the XHTML-family. It tells the minimum set of elements and attributes, which all XHTML-based languages should have. That's why I have mentioned also this document type.
Note: XHTML 1.1. XHTML 1.1 has only
one document type. The most significant change is the removal of
almost all features that were deprecated (in my list marked as
transitional). In the version, which is in the Internet, the only
exception is between
OBJECT doesn't belong to the basic DTD, but
APPLET belongs. The documentation of XHTML
1.1 has errors (because the XHTML 1.1 documentation have
errors, also my tables might have errors; I don't know, when the
fixed version is available):
OBJECTmust be added to the XHTML 1.1,
APPLETmight have been removed from it an it can be used as an additional module. According to my logic it doesn't belong to XHTML 1.1, but it might or might not belong to it. I put my table however according to the most likely final result.
XHTML 1.1 supports however many transitional elements and attributes in additional modules (look at explanations to used colors). Because of changes I made for it own information concerning supported elements and if necessary also concerning supported attributes. XHTML 1.1 has changes also to %i18n; and %coreattrs;. In addition XHTML 1.1 can have additional modules, which don't belong to XHTML 1.0. If necessary, I have put different attribute lists to the main table to XHTML 1.1.
Note: HTML 4.01 and XHTML 1.0. They have the same elements, that's why I don't put an own document type version number to XHTML 1.0. In the element list, HTML 4.0 concerns also XHTML 1.0. Declaration list separate HTML 4.01 and XHTML 1.0, because XHTML 1.0 can have an additional xml-declaration. Some elements have two content definitions, because the possible content is different in Strict and Transitional document types. If necessary, I have put different attribute lists to the main table to HTML 4.01 and XHTML 1.0.
Note: HTML 1.0-3.2. Because the color highlighting is intended to compare all to HTML 4.01 /XHTML 1.0 document types, it is impossible to express with colors, which HTML 4.01/XHTML 1.0 attributes don't belong to HTML 1.0-3.2 document types. I inform about the attributes of older document types, which belongs to HTML 4.01 and XHTML 1.0 only in separate tables. I inform in the main table those attributes, which don't belong to HTML 4.01 and XHTML 1.0.
Note: HTML 3.2. It is important to
know, which elements and attributes belongs to HTML 3.2, because
those browsers, which promise HTML 4.0 or HTML 4.01
implementation have only partial implementation and they don't
support many new elements and attributes, which became into HTML
4.0 (HTML 4.01 has only minor updates to HTML 4.0).
Framesets are widely supported in browsers, which support HTML 3.2 but not HTML 4.0 elements. Also many other elements and attributes, which belong officially to the HTML 4.01 specification are widely supported in many older browsers. Many browsers, which support HTML 3.2 support also scripting languages and style sheets even if the official recommendation doesn't list any scripting or style sheet attributes. Elements
SCRIPT are reserved in HTML
3.2 into future use.
Most elements, which are marked as obsolete belong to HTML 3.2 as historical reasons, but they are rather HTML 2.0 or HTML 1.0 elements and they are not recommended to use in HTML 3.2 documents. For historical reasons I added also comments, which concerns HTML 1.0 and HTML 2.0.
Note: HTML 3.0. Even if HTML 3.0 is
only a draft,it is useful know, which elements are "inherited"
from the HTML 3.0 Draft to HTML 4.01 and XHTML 1.0. The HTML 3.0
Draft tells also, how that HTML is mentioned to be much more
functional as it is today. HTML 3.0 Draft supports some
attributes, which belongs to %i18n; and %coreattrs;. I refer
to them with DTD-macro %attrs;.
HTML 3.0 has much browsing features, which are newer implemented. CSS is better in describing layout than attributes (
nowrap etc.), but missing
functionality is missing functionality. It includes many useful
elements, which are not in official specifications, for example
FN to footnotes and
mathematics (the latter is implemented in XHTML as an additional
namespace). I list them only in the HTML 3.0 table.
Note: HTML 2.0. HTML 2.0 is useful in
comparison between HTML 4.01/ XHTML 1.0 Strict document type and
HTML 2.0. Concerning many layout attributes the attribute list of
HTML 4.01 /XHTML 1.0 Strict resemble the attribute list of HTML
2.0. HTML 2.0 has only few layout attributes. In HTML 4.01 and
XHTML 1.0 Strict document types layout should be described
primary with CSS instead of attributes. Also some layout elements
FONT) don't belong neither HTML 2.0 nor
HTML 4.01 / XHTML 1.0 Strict document types.
Note: pre-HTML. I mean pre-HTML all document, which are used before the official HTML 2.0 specification. I have listed pre-HTML only for historical reasons.
Note: proprietary. Proprietary or obsolete elements and attributes have some special macros. Proprietary elements and attributes has following notes:
Note: WML. WML 1.2 in quite independent language. WML 2.0 will base on XHTML Basic™, which has been added WML 1.2 functionalities by using the namespace wml (for example
wml:card). In addition it has some elements from the Legacy Module.
If I mention some version number the character
+ means that
that version or newer support. I have read about older standard
and proprietary HTML-elements primary from from Stephen Le
Hunte's HTML Library and Brian Wilson's Index DOT
HTML, but it doesn't list all matters of the newest
browsers, but listing the attribute and element support of
MS IE 5.5 and Opera 4.x are under
construction. The writer of the site adds them as soon as he can.
I might add some own notes concerning Opera 4.x. The nickname of
Brian Wilson is Blooberry and I refer to this site
at that name. The attribute list is about at the same level as
the list of Brian Wilson. Because Microsoft brings with all new
browsers a truckload of proprietary features, I can't guarantee
that I can keep proprietary features updated.
If you find errors in my table of in my site or in the sites Blooberry, report to me (add to the address my name, Tapio.Markula, separated with a comma) or Brian Wilson. Note, that Brian Wilson use different references. In order to compare my page to Brian Wilson's site, you must check the content of DTD-macros (look at for example the Note 4 of %coreattrs;).Blooberry: Index DOT HTML; Webstandards: IE 5.5.
List of proprietary DHTML-elements of MS IE (for example
CSSACTION) are only my notes from some source codes,
because I don't have find yet documentation about them.
It is also worth to know, that Netscape 6.0 will
not support proprietary elements of Netscape 4.x series
LAYER). I marked to some NN 3.x
series supported elements the NN 4.x series as the last browser
series, which support them, because Netscape tries today more
than before support official recommendations.
Microsoft brings to the next version of MS
Internet Explorer much new proprietary features. I
appreciate very much MS in developing new web technology, but I
resist the way, how Microsoft accomplishes new implementations in
new browsers, for example in MS IE 5.5.
Note 1. Some proprietary elements have extremely limited support.
Note 2. Also colors value keywords are a partially proprietary. Read the page about Color value keywords.
I recommend to use standard features. All proprietary attributes and elements, which concerns the layout should be defined also with CSS (an example can be found from the page Help for TM CSS). CSS-implementations are however more or less buggy. According to some writings and my experience the best official browsers are MS IE 5.0 Mac, MS IE 5.5 Win and Opera 4.0x Win (I have tested also some Mozilla Gecko rendering engines, which are preview versions of Netscape 6.0; those browsers had in some matters the best CSS2-implementation, but they had also bad bugs). Because the implementation is quite buggy in Netscape 4.x series, look at the site of webreview.com.Netscape (Eric Krock); webreview.com.
The table, which I made is intended to be a comprehensive historical overview of HTML element and attributes from HTML 1.0 to XHTML 1.1 concerning official recommendations (HTML 2.0, HTML 3.2, HTML 4.01 Strict and Transitional XHTML 1.0 Strict and transitional) and important drafts (HTML 1.0, HTML 3.0 Draft and XHTML 1.1 working draft, which will be the next official recommendation). When you know the history of HTML you can better understand the future. Authors have also the possibility to create new XML-languages, where they can use historical element. XML 1.0 brought us into the new starting point.
Tapio Markula 1999-2001 (@dnainternet.net) - not into the public use without the permission (add to beginning of the e-mailaddress my name, Tapio Markula, separated with a comma).