Are your web pages ISO 15445 compliant?

aka Web Standards do exisit

As Edward O’Connor pointed out in a comment on my previous post there is an ISO standard for HTML, ISO/IEC 15445:2000, the details can been viewed via the University of Dublin, Trinity College, Department of Computer Science site.

Other than the fact that this standard is fairly obscure, it was developed by ISO (International Standards Organization) and IEC ( International Electrotechnical Commission) in conjunction with the W3C some eight years ago, I have not seen a mention of it in the literature and a google search of HTML ISO standard reveals the the University of Dublin, Trinity College, Department of Computer Science site as the top result. This is probably due to ISO control over their standards and not releasing them for public consumption, but selling them to standards users. This might work for manufacturers of precision products, but fails badly for creators of web pages. Distribution definitely needs to be improved.

The ISO/IEC 15445:2000 standard is a standardista’s wet dream, it appears to be very specific about certain elements should be used. For example with headings the WC3 HTML 4.01 recommendations state:

A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.

There are six levels of headings in HTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.

With no requirements on how headings should be use semantically to mark up a document. You could just use any number of <H6> and met the W3C recommendation. On the otherhand the ISO/IEC 15445:2000 standard is far more specific:

<H1> element shall not be followed by an <H3>, <H4>, <H5> or
<H6> element without an intervening <H2> element.

An <H2> element shall be preceded by an <H1> element.

So now we have a clear standard, should we use it? I am a fan of XHTML, I like the idea of making pages machine readable and like use cutting edge practices for non critical sites like this blog. However, I am giving serious consideration of using ISO/IEC 15445:2000 for any pages I create for work, because it is the professional thing to do.

3 Responses to “Are your web pages ISO 15445 compliant?”

  1. Myles Eftos Says:

    Wow. Now if only we could have an ISO version of CSS (We basically have one for JavaScript: http://www.ecma-international.org/publications/standards/Ecma-262.htm) we can start charging the browser makers to pull there finger out and implement and actual STANDARD properly.

    It you are already using HTML 4, then it’s not much of a jump, other than some more strictness (Not a bad thing).

    It does beg the question though, will ISO HTML + ISO CSS + EMCA script define the RENDERING of pages well enough to help? We need one (or all) of the standards to give definitive rendering information. The HTML ISO standard stipulates what makes a structurally correct page, but not a semantically correct page. It says that a H1 has to follow a H2, but it doesn’t really say “A H2 is how a second level heading” (Maybe it does, that example doesn’t look like the full document).

    Is that with in the scope of an ISO standard? I may go look at the new PDF ISO standard, as that would have to do the same thing I would imagine?

  2. Myles Eftos Says:

    Note: ECMA IS a ISO approved standard: ISO/IEC 16262

  3. mmj Says:

    Note that Javascript, or scripts of any kind, are not supported in ISO HTML. Perhaps because ECMA was standardised some time after ISO HTML.

    The lack of scripting support probably mattered less then than it does now. It’s now a compelling reason not to use ISO HTML.

    It can also be difficult to convert existing documents to ISO HTML due to the different content model for header elements (H1, H2, etc) of ISO HTML. The complexities of this model go beyond just the quote that Edward gave in the post. For example, in ISO HTML, headings are not permitted within DIV elements. They must go directly in the BODY element, or, with a modification to your DOCTYPE, you may instead use a complicated series of elements such as DIV1, DIV2, DIV3, etc, which must be nested in a certain way and begin at the BODY element. You would then forfeit your use of the DIV element altogether.

    Such restrictions would make it hard to use proper headings (H1, H2, etc) at all, at least in the ways we are used to using them, and if we wanted a heading in a DIV it would be tempting just to emulate headings using CSS.

Google