IE Sucks

I’ve been getting really pissed off at IE with all these bugs I’ve been coming across while working on my latest layout. I felt a good rant would help relieve some of this frustration.

So I wrote one.

A bit of profanity here and there. It’s probably more forum troll fodder than anything else, but it felt good to write.

Crash

Fixed the skidoo redux download so the stylesheet has the proper paths for the imported stylesheets. That was me just not double checking when I added a couple updated stylesheets into the zip.

<cfquery datasource="datasource">
SELECT AVG(1)
</cfquery>

Run that ColdFusion code on an Access database. Tell me if it causes your installation to crash. It does on mine. Won’t crash if you run it against an Oracle datasource, just Access. Perhaps it’s only an issue with my installation? We’ll see.

rMenu Update – IE7

Another update to Ruthsarian Menus. A hack was added a few weeks back to help IE7 which was not triggering mouseover if the cursor entered a menu item in an area not occupied by text. The hack was to trigger hasLayout, but that created a new bug where menu items that had sub-menus would display a small gap below the parent LI of the sub-menu when it had focus. The fix for that was to float all the LI elements in a vertical menu. At the time I didn’t have a way to target IE7 specifically. Now I do, so I’ve updated this hack to target only IE7.

The hack? A take on the star-html hack (* html {}) that I first read about here. The hack takes the form of *:first-child+html {}. IE7 will apply any rules using this selector, but FireFox and other browsers will not. So use this just like you normally would the star-html hack (*:first-child+html ul.rMenu li{}. Also updated the Skidoo Redux download with the updated rmenu.css. Cool? Beans.

Small rMenu Update

A small update to Ruthsarian Menus to fix a bug with IE 5.0. It turns out IE 5.0, when encountering a selector with an immediate child operator (>), will ignore everything before the operator and apply the CSS rules as if everything after the operator was the selector.

So something like li > a means all the rules for this selector are applied to all anchor elements rather than just those that are the immediate children of a list item. This bug is a product of the last update to Ruthsarian Menus so if you’re currently using that version (July 2007) I suggest you update to this one as soon as possible.

Why JAVA(script) Reliance Is Still Bad

A follow-up to this entry from a while back.

The trend continues, folks. There’s yet another vulerability for those using JAVA wholesale. The site linked to in the article also contains a JavaScript version of this that works on Gecko/Opera browsers.

And so we have one more reason to keep JAVA and JavaScript disabled by default.

This, in turns, gives us one more reason why we should be developing web pages in straight HTML that work in even the simplest (text-based) browsers.

As I see it, this trend is going to continue. People will slowly start to disable JavaScript and JAVA by default through plug-ins (initially) and eventually through built-in browser functionality. When this finally reaches mainstream all those websites out there that rely on JavaScript and JAVA will suddenly have a very big problem. Users will need to first trust a website before enabling these features. How can such trust be earned when the site isn’t accessible to begin with due to this reliance on JavaScript and JAVA and even Flash.

Yes, Flash is not immune to this trend. Partly because it’s a plug-in loaded into browsers the same way JAVA is and will likely be blocked by the same technology used to block JAVA and JavaScript. And there has been some development in the area of using Flash to accomplish similar tasks.

Install NoScript and see what the world is really like without JAVA, JavaScript, or Flash. It should be an eye-opening experience in (in)accessibility.

cf_image_shrink

image_shrink is a custom tag I hacked together today. Its purpose is to take an image and shrink it down to a size that fits within predefined limits on width and height and maintain the image’s aspect ratio.

This works on at least CF6 (that’s why there are no null JavaCasts, which would have shortened the code a bit).

I figured, like the CFHTTP stuff, I’d share this with anyone who might find it useful. It’s not production quality stuff, it needs a bit of work here and there, but it gets the job done.

It’s boggling the number of different ways there are to accomplish the same task. I created no less than 4 different versions of this trying to find the one that produced the best results and allowed for the most control.

It only outputs JPEGs and if you input transparent PNGs you’ll get a black background by default (thus the cffile tag only allows for jpeg images to be accepted, but you can change that of course).

As for what I’m working on right now in terms of design it’s a redesign of the entire site I manage for work. The design itself came from a separate office and I’m working to put it into the sort of tableless, compatible forms I’ve put out in the past.

It’s proving to be a bit of a challenge, but I think I’ve got it. I’m starting to develop a taste for a certain style where you use 2-pixel-wide borders around key elements and the color of the border should be close to the background color of the element it’s wrapped around. I like the subtlety of the effect. It will also include a more correct form of access-bar where you can change the size of the font (and eventually the page style). This uses form buttons rather than images, which cuts down on files that users have to transfer and it’s a tad more accessible.

I’ve also had to string three boxes with different backgrounds next to each other and include a gap between them. Each box needs to be of equal width and height. This presents quite a challenge. During my work I found that Opera calculates percentages differently than every other browser out there. As a result I had to define the widths of these boxes in a slightly round-about manner to get Opera on board. I get nervous getting into decimal-percents, but so far my testing shows the big browsers are all working fine.

If all goes well there will be a demo website up in September that I can show everyone. I don’t think I can really release the layout as a ZIP for people to use on their own sites. I may put together a new layout that uses some of these key features I’ve had to develop, but one that doesn’t share the style or feel of the layout I’m developing now.

So that’s what’s going on.