Category Archives: Accessibility

Accessibility and usability.

Standards Policy

I have finally got around to publishing the final version of my standards policy today. The document is designed to explain my opinions about accessibility, graceful degredation and proprietary extensions; and to explain why this site fails to render correctly, yet remains accessible for IE users.

Additionally I’ve made use of a conditional comment in order to provide a message to IE users to explain why this site degrades so noticeably. If you don’t have IE, or just don’t feel like opening it up, the message, which appears at the top of the page, simply states:

Find out why this site degrades in Internet Explorer.

iiNet Standards Redesign

Recently, and to my surprise, iiNet have redesigned their entire site. Not only that, but it validates as XHTML 1.0 Transitional, separates presentation from structure (no tables for layout!), makes reasonably good use of alt text (it’s not perfect, but it’s quite good), fairly accessible use of JavaScript (no serious problems caused with it disabled) and even makes good use of sIFR!

iiNet have discussed this re-branding from a marketing perspective. That’s fair enough, a typical customer isn’t going to want to hear about their new found standards compliant and accessible design methods. So, in the process of congratulating them for this fine effort, I’ll take a look at exactly what they have done.

Structure and Presentation

Disabling stylesheets quickly reveals that they have actually put in a lot of effort into this redesign from the previous. The old design was a typical table layout with spacer gifs, invalid markup and a few pages just didn’t work correctly in anything but IE. With the redesign, they’ve used reasonably semantic markup – headings use <hn> elements, paragraphs use <p>, navigation menus and other lists use <li> and there’s no use of presentational class names or ids.

They have, unfortunately, used a few style attributes, but not many. Most of the presentation is specified in an external stylesheet. Ideally, they would use a semantic class name on those few elements that currently use the style attribute, but the damage caused is minimal

As I mentioned earlier, the markup does validate as XHTML 1.0 Transitional, with the exception of one image missing an alt attribute on this page discussing their re-branding. However, it is a presentational image, and only requires an empty alt="" attribute anyway. The home page nearly validate as Strict, however the only errors seem to be structural, due to <input> elements being directly inside a <form> element, the use of a name attribute in a <form> element and the use of a target attribute, which I strongly discourage. They’ve also used an invalid value: target="_new". The HTML 4.01 Specification states:

Except for the reserved names listed below, frame target names (%FrameTarget; in the DTD) must begin with an alphabetic character (a-zA-Z). User agents should ignore all other target names.

This means, that except for the special defined values, _blank, _self, _parent and _top, the value must begin with an alphabetic character. Thus, _new is invalid, even though the validator does not detect it. But, you must keep in mind that the validator is just a tool, and cannot check every conformance requirement, only those specifiable with the DTD. So, technically, they should be using _blank, but ideally, they should remove the target attribute completely, since the user should decide when they want a new window, not the author.

XHTML vs HTML Markup

Update: One thing I forgot to mention earlier, and hence why I’m adding this update, is that technically, they should not be using XHTML since they are serving it as text/html, and doing so is considered harmful. If they’re going to use XHTML, they should be using content negotiation to deliver it correctly as application/xhtml+xml to descent UAs that support it, and text/html to IE, and other legacy UAs that don’t. However, as many of you will know, this issue has been discussed recently. Some say it’s OK, other’s (like myself) think it should be avoided, and other’s insist that it should not be done. These people categorised into either the Stict or Transitional Party.

If they’re not going to serve XHTML properly, then they may as well use HTML 4.01 Strict. I recommend they change to Strict, because Transitional actually triggers Almost Standards Mode in Mozilla. It is near enough to standards compliance, but it adds a small quirk that should not be there, and only exists to support the thousands of pages that depend on IE’s bugginess, yet still use a valid DOCTYPE.

Images and Alt Text

As mentioned, there is one image that I found without alt text, but other than that, they seem to have actually done a reasonable job. Although, ideally, (in this case) the images should have exactly the same text as the images do, however, they have used text with a similar meaning, and viewing without images doesn’t loose too much.

For example, one image they have at the moment, states christmas broadband specials. Free Setup + Modem. Save up to $199.95. However, they have set alt="christmas special - free setup/modem". It misses the price, but it still passes a message that is close enough, especially compared with the vast majority of sites that use very poor, or no alt text whatsoever.

They have made use of Image replacement techniques for the navigation items, though not in the most accessible way. However, that’s limitation with CSS and image replacement techniques in general. iiNet have done image replacement by setting the background image on the <a> element for each link, so that hover effects still work in IE, and set the font to 1px, white to effectively hide it from view. However, like many image replacement techniqes, this is inneffective in the rare case that images are disabled, but CSS is enabled.

For many the headings, they have made use of sIFR, which was designed and developed to be accessible in the majority of cases. It has known limitations, but so far, is the most accessible image replacement technique available.

JavaScript

The site does make some use of JavaScript, however the site does not require it. With JavaScript disabled, the only issue I found was that the what’s webmail and what’s toolbox links don’t work. They are JavaScript links with the purpose of showing additional information about the webmail and toolbox services. Ideally, with JavaScript disabled, that information should be visible by default, but the additional information is not that much, and can be obtained by disabling stylesheets also. The links should also be added using JavaScript, so that useless links do not appear for users with JavaScript and/or CSS disabled, but again, it’s a minor issue.

So, in conclusion, I would like to congratulate iiNet for taking the initiative to move towards standards compliance, and for actually hiring a web developer that knows what they’re doing. Well Done!

Don’t Support IE

Recently, Charl van Niekerk posted his comments about dumping IE, and I totally agree with everything he said. This site does not, and will not support IE until such time as IE supports the standards – like that will ever happen!. If you haven’t already, fire up IE and take a look at this site. You should notice that it degrades somewhat gracefully. The content is fully accessible, though it’s not quite as visually appealing as it is in Firefox and Opera.

Here are my reasons, especially for web developers like myself, to stop supporting IE and allow websites to noticably degrade in IE and other older browsers. Most have already totally given up on Netscape 4.x, so it’s about time we did the same for IE.

The target audience for developer sites like this is, of course, web developers. If web developers start to find that the resources they need to learn and improve their skills do not work in IE, they will be forced to use alternative browsers. Of course, many developers like us already know about the plethora of bugs and serious lack of standards complaince in IE, but as can be seen by the stats at W3Schools, around 70% of web developers (well, of those that are just learning) still use IE. It is these developers that we need to convert to better alternative browsers, and the sooner the better.

By converting the developers, they will learn more about standards compliant, and interoperable code. They will notice the severe flaws in IE’s implementation. They will be forced to make sites that work properly in non-IE browsers, since they’ll be using one themselves. As more sites adopt standards, and stop locking out non-IE browsers, we will have a better chance of taking back the web!

The Firefox community may be aiming for a 10% market share within 12 months among the general population, but among web developers we need to work harder. I want to aim to completely reverse those stats on W3Schools. Let’s aim for 70% market share for non-IE browsers, including Firefox, Opera, Safari, Konqueror, Omni-Web and Mosaic (just kidding), etc… So join us! Remove the countless IE hacks from your stylesheet, except the ones that are absolutely necessary to maintain accessibility. Indeed, there is even a single hack in my stylesheet that simply prevents the menu overlapping the main content. Let’s send a message to those that build the sites! Let’s give them a reason to switch!