The other day I was was encouraging a client to demonstrate their software’s front end web interface in Firefox rather than in Internet Explorer. (After all, I am all for getting clients on board using Firefox for their product demonstrations in sales calls or in meetings and for every day use.)
We were looking at a form that had a group of radio buttons for a choice, with a short paragraph nested below the label to further explain that particular choice. I implemented a :hover CSS effect on the div that I had used to encapsulate the radio button, the label, and the explanatory paragraph, which would only work properly in a “good” browser.
I believe in Progressive Enhancement — the form worked perfectly in Internet Explorer, but browsers that allowed for advanced CSS effects like using the :hover pseudo-class on elements other than <a>…</a> would have the added bonus that it a) looks nicer, and b) more clearly associates the paragraph with the choice before. When a user mouses over the div, a background image and border appear making it more obvious that the relationship existed.
So, as I explained to the client that it works fine in Internet Explorer, but works better in Firefox, something didn’t feel quite right. I asked myself the following question:
Is this common?
I rarely use IE for my daily web needs – I really only keep it around because of the need to test, and that whole “market share” thing they have going on. I was surprised, though, when I fired up IE and cruised around a bit looking at various sites. Many of them just simply don’t deal with IE well; most notably :hover and :focus CSS effects on form elements and other areas like lists of blog comments.
For example, highlighting the current form field with a :focus pseudo-class is not just a “cool” thing – it actually improves the usability of the form. If it makes the form more usable, shouldn’t we be providing that usability enhancement for everyone, despite what we might personally think of the browsers that the bulk of our users might actually be using?
Do we need to put our wishes (or even, perhaps, egos) aside to make things better for everyone possible, even if they don’t use a cool geeky browser like those of us that build the sites?