CSSquirrel A look at web development and web design by Kyle Weems

:

Archive for the ‘Browsers’ Category

IE9 Early Look: It’s Not Perfect, But I’m Glad It’s Coming

Wednesday, November 18th, 2009

Dean “Good Luck Pronouncing It” Hachamovitch (who stars in the old, old CSSquirrel comic Passion of the Dean) made a post on the IEBlog today giving us an early look at IE9 and the improvements it’ll contain. These improvements contain (but are not limited to) improved CSS3 support, better-looking fonts, hardware acceleration, better standards support and faster performance. Woo!

But some, like Dave “Maximus” Shea, aren’t impressed, as he makes clear here.

I get it. We’ve been hit in the face by Internet Explorer so many times that it’s impossible to think well of it. But the increasing speed at which they’ve started to bring out new versions, and the clear improvements of 8 over 7, have me convinced that what they’re doing is a good thing. Yes, there’s no mention of canvas support. Yes, some of these features were supported years ago elsewhere. But they’re trying hard to improve, and more importantly, they are improving.

IE Bots

So, I for one am glad to see this announcement. It makes me happy. Also, I secretly hope that if the version numbers keep going up on IE, certain stodgy corps will be shamed into updating past IE6.

Hey, a guy can hope. Right?

Accessibility: Take 2

Thursday, September 17th, 2009

As I first discussed here, and then officially announced here, I’ve been upgrading CSSquirrel with accessibility features to help make this site more accessible for the vision-impaired. I first considered the idea several months back, when John Foliot approached me with a code sample that I could use to give the comic an alternative long description for screen readers. I’ll admit that I didn’t act on it at the time, though, because it seemed like a low priority. How many blind people read comics?

I realized the mistake in my complacency when I received my first blog comment from a blind user here, where he was testing his ability to post despite the CAPTCHA that was present. At that point I realized that if even one person was visiting my site and incapable of at least knowing what was happening in the comic, they were getting a severely degraded experience, which was a disservice on my part.

My growing awareness of how frustrating such a thing would be is borne out in my Squirrel in the Dark post. As a result of this, I went about adding an aria-describedby attribute to my comic’s image tag. Later, based on feedback from a JAWS-10 user and with another suggestion by John, I doubled up with the addition of the longdesc attribute to the image. In both cases, the value for the attributes is an URL for a separate transcript page.

Thinking all was well, I congratulated myself and went back to poking fun at the HTML5 process and spent a lot of time drawing people in spandex.

Of course, it wasn’t that easy.

First, a new accessibility problem had reared its ugly head. When I built the site’s CAPTCHA, I had actually taken vision-impaired users into consideration and provided description text of each image to allow them to select the proper one for the CAPTCHA (mind you, not including the word that the CAPTCHA asked you to match with the image). However, when someone tabbed through the page’s links and fields, the tabbed indexing would go out of order, going through the other input fields for the comments at a different time than the CAPTCHA itself, making the whole affair confusing.

Secondly, I learned that the aria-describedby element isn’t meant to direct to other pages (which I think is a bit silly of a limitation, but I’m not an expert at these things), but rather should contain the ID of an element on the page containing a description. It’s quite a difference, and one I’ll admit I made by failing completely to do enough homework on the matter in advance.

I’d thank Henri Sivonen for his “bug report” on the aria-describedby issue, but he chose to use the issue to draw a comparison to the Super Friends‘ list of concerns (and its initial posting to a blog instead of the WHATWG mailing list) and neglected to mention it to me directly. So instead I’ll thank Laura Carlson for drawing my attention to my error, Arve Bersvendsen for sharing his opinions on alternate techniques, and Steven Faulkner for suggesting a way to use aria-describedby to link validly to off-page content. I know others contacted me about the error, but I’m sorry to say I don’t remember all the names at the moment.

My solution, therefore, was what Steven suggested in the W3C mailing list. The aria-describedby attribute on the image tag now has a value that is the ID of an anchor on the page. That anchor then links to the comic’s transcript page. The anchor is hidden by CSS to avoid distracting sighted users. You can examine a recent comic, like this one on the Super Friends, to see it in effect (if you’re on a normal browser you won’t notice much unless you view the page source).

The CAPTCHA’s messed up tabbing issue turned out to be an easy fix as well. Stéphane Deschamps pointed out in a comment that there was tabindexes on the form’s fields, which was causing the tab order to go screwy. I didn’t know these existed, having failed to examine the blog software’s default fields very much. Now that he’s pointed it out, I’ve taken them off, hopefully making the CAPTCHA less burdensome.

As I’ve stated in the past, I’m a non-expert at pretty much everything that doesn’t involve vector squirrels. However, I have an appetite for absorbing as many web-related skills as possible to help better the web through direct effort or comic-related advocacy. One of these areas of the web that I realize that I need a great deal more knowledge about is accessibility, and it’s a deficit that I seem to share with almost every designer or developer I meet.

Having admitted my deficiency, I’d like feedback on this issue, if you have it. Does the updated aria-describedby technique for serving the transcript actually use the attribute properly? Is the CAPTCHA usable by vision-impaired visitors with approximately the same level of annoyance all people feel when they use a CAPTCHA? Is there another feature on the site that causes accessibility issues that I haven’t mentioned or considered?

To those who contact me with these problems, thank you. I’m in your debt.

Comic Update: This is not a Reference

Monday, July 13th, 2009

[Update: The CSS3 Attribute Selectors article in the Reference was updated just prior to this post going live. So my ranting about that section is largely out-of-date and can be summed up now as "Took much longer than I'd anticipated".]

When I was first hired by Mindfly in 2007 I was not what you’d call “web standards aware”. Upon seeing the table-based layouts, font tags, and massive collection of inline-styles that stampeded through my pages like wild buffalo, grown men would gnash their teeth and wail in torment and mothers would hide their children.

It only took a few crying infants for me to realize something needed to change if I wanted to keep this career. My infovore nature led me to consume as much information on the topic I could muster, starting with Andy Clarke’s Transcending CSS and continuing through dozens of online tutorials and references. Learning the errors of my past, I spent a bit of time quietly taking my old sites out to the woods, instructing them to dig their own graves, then whacking them with a shovel before burying them for all time.

After the evidence had been destroyed, I went about trying to make compliant, pretty sites using the best practices in HTML and CSS. By 2008, I had friends who thought making website was the bee’s knees, but they didn’t know where to look for learning CSS, etc. At that point my bookmarks of handy sites had grown enormously, so I heartily recommended several.

One that I mentioned time and again was the Sitepoint CSS Reference, which was (to my knowledge at the time) a very complete, useful reference to the wonderful world of CSS. It even included tasty tidbits about CSS3 support. The main reason I sent each person who asked to this reference was explained in Sitepoint’s announcement“…the reference contains a bunch of features that make it stand out from the pack — things like cross-browser compatibility charts and user feedback to ensure that it is accurate, up to date, and best-practice. If you’re building sites with CSS, this is a reference you’ll keep coming back to again and again.”

With the speed at which this industry changes, who wouldn’t want access to a constantly updated reference that even incorporated outside feedback?

There is a problem, unfortunately. As near as I can tell, the reference isn’t updating. Since its launch, it seems to be sitting still, failing to modernize its information as browsers march on. Every single browser on their compatibility list has had major updates since its launch, putting much of the CSS3 support information well out of date. Never mind that Google Chrome has been out for quite a bit of time now (as the Internet sees such things) and has no compatibility information present despite it’s higher browser share than Opera in most markets.

In a book, this situation is a necessary reality. Books, by their static nature, are out-of-date typically before they’ve even been published, requiring later editions, etc. But for a web-based reference, which claims specifically to have the benefit of staying up-to-date and incorporating user feedback, this isn’t terribly cool.

For me, the situation is exasperated by their promise to incorporate feedback (or even claiming to do so) when they (at least in situations I’ve experienced) clearly are not. To back my claim, I’d like like to direct you to my own experience I’ve had, which I’ll call Exhibit A. If you examine the page on CSS3 Attribute Selectors, you’ll find that it erroneously claims that Internet Explorer 7 completely fails to support these little gems.

I’m no IE fan, but I can tell you my friends, that this is a falsehood. And because I was foolish enough to take that advice at face value (who doesn’t trust Sitepoint?) I created IE-specific workarounds in a project where I first included these selectors, workarounds which ended up costing me a decent chunk of time. It was only later that I decided the best experience is personal experience and I actually tried the selectors in IE7, only to discover that they work perfectly fine. I’d wasted time (translate that: money) fixing a nonexistent problem they claimed existed.

Not being the type to hoard information, I shared the fact that they were mistaken in a comment on May 2, 2008, complete with a link to a test page to confirm that I wasn’t full of hot air. (The old test page has disappeared, so you can see what I’m talking about if you check this test page in IE7). Eventually they marked that they’d incorporated my comment into the article… only they hadn’t. It still incorrectly stated IE7 support didn’t exist. Sometime much later (aka, this year), I commented in annoyance at the mistake again on Twitter. They responded multiple times over Twitter to me, asking for clarification (which I gave) and then promised to update their Reference (which they didn’t).

That was a couple months ago.

Today’s comic shares my view on the so-called Reference, albeit in a somewhat abstract sense. So let me make it clear: I don’t think the Reference is what they claim: a reference. Rather, much like René Magritte’s unpipe it is not what it appears, merely the image of it. The unreference, if you will, is something that claims authority and completeness but increasingly lacks both as time moves forward.

One erroneous page isn’t worth tearing down their entire reference. However, with a complete lack of modern CSS support information on every major browser, Sitepoint’s “up-to-date” CSS Reference has become largely useless as a source for web designers living and working in 2009.  I’m upset at this, because I sent literally everyone I knew with an interest in learning CSS to their site, saying “Hey, these guys know their stuff.”

Now… well, now I tell people to avoid it. I’ll repeat that for anyone reading: Don’t bother. They mean well, but they’ve failed to live up to their mandate of keeping updated. In March, when I’d commented (again) on my disgruntlement with the lack of updates, I received the following pair of tweets from Kevin Yank (@sentience).

April 6, 2009 4:19pm: “What erroneous compatibility info did you find? We are planning to refresh the Reference for the latest crop of browsers in May.” (after which I gave a summary).

April 6, 2009 4:50pm: “Thanks! Will get that corrected ASAP.

It’s July now. I think we may have different definitions for “corrected” or “ASAP”.

Posted at Mindfly: Web Developer Weems and the Case of the Multiclass Bungler (AKA, IE6)

Thursday, June 18th, 2009

Nothing keeps you more humble in your industry than learning an important job-related detail, then discovering shortly thereafter that everyone else has known for years. For the past few months I’ve been experimenting with “OOP CSS”, taking advantage of mutliclassed elements to reduce stylesheet size and increase CSS reusability (after attending this presentation by Nicole Sullivan at Web Directions North.) Within the past couple weeks, I found some major roadblocks to using this technique with IE6 when being incautious about how the rule descriptors are ordered: IE6 majorly bungles multiple-class descriptor support.

To get a better view of what I’m speaking about (assuming you’re not already familiar with it), go check out the post I wrote at Mindfly about this very issue: Web Developer Weems and the Case of the Multiclass Bungler (AKA IE6).

Comic Update: Opera’s Childish Antics

Monday, May 11th, 2009

I don’t need to write too much about this particular topic, as I’ve ranted about it in the past, but I couldn’t help but notice Andy Clarke’s micro-rants on Twitter about Opera’s recent bad behavior towards Microsoft (see here, here, here, here, here and even here for some samples of his thoughts). I was hoping to see a blog post manifest from him that I could read while laughing deeply, perhaps even shooting milk from my nose. Alas, Andy’s better sense took hold and he did the smart thing and went and watched Star Trek.

I also saw Star Trek. It was good. It was better than good. Go watch it, you’ll love it. I promise.

As it stands, I’ll take a swing or two in his place. First, let me direct you to today’s comic featuring Andy Clarke, wherein a couple of cheap shots are made at Opera’s expense. Then, continue reading.

First, I’m aware that browser usage statistics are like a dark art, much akin to necromancy and astrology, where accuracy isn’t really achievable. But the fact is (and take a look at Wikipedia’s page on the topic) that Opera according to some of these browser usage sources does in fact have less users than Netscape.

That’s right, there’s still people using Netscape. How scary is that? I wonder if they think grunge is alive and watch reruns of Family Matters while downloading websites on 14kbps modems. And just to reiterate, there’s more of these people (according to some sources) than there are people using Opera.

Beyond that, Google Chrome is the new hot browser in town and has already exceeded Opera’s user base in less than a year. That’s right, less than a year.

Look, I’m not saying it’s the number of users that count. After all, IE6 is utter rubbish and it’s still being used by too many people out there. What I am saying is that instead of wasting your company’s public image whining about the fact that Microsoft is doing us all a favor and forcing IE8 updates over their update system, you could be spending time looking at your own browser and figuring out why among other things a browser that has been dragged along for a decade by AOL then finally shot in the head (aka, Netscape) still has more users than your product.

Instead of making absurd suggestions that your competition serve your product via their update service, maybe you could look at Google Chrome and devise how it so rapidly out-paced you in such a short period of time?

Microsoft’s browser, even its newest version, isn’t even close to the coolest browser on the market. I don’t like Internet Explorer, and I only use it to check website compatibility in my job. But I don’t use Opera either, and that’s because (among other reasons) it has thus far convinced me (and the rest of the world) that it’s not worth the effort of installing and using rather than Firefox, or Safari, or the other web standards-compliant browsers on the market. It’s enough to make me wonder why we consider Opera part of the Big Four (now the Big Five). At this rate, with even terminated browsers giving Opera a run for the money, should we expand that name to the Big Six?

Is Opera a good browser? Yes. If that’s not the reason that it’s being ignored, than what is? Perhaps a lack of add-on support. I’ve always felt that Opera’s too busy telling people how to surf the web, and not spending enough time figuring out the features people want. Firefox isn’t popular on accident.

But I’ll tell you the number one reason why I don’t use Opera. It’s because of the company’s public behavior with their legal actions and petulant whining. The rank-and-file employees are talented people creating a worthwhile (albeit, not standout) product. But the big shots on top cost the company their credibility every time they make a cheap, transparently spiteful shot at the current market leader.

And lest I let the others off the hook, shame on Mozilla and Google for getting involved with the EU nonsense. Focus on your products, not on begging the government to get people to install your browsers for you.