Microsoft IE7 updates the select box

Microsoft has just announced IE7 will handle the select input as a modern browser should. It will now allow developers to use z-index to avoid overlapping and perhaps more artistic forms. Søren Madsen put together the utopia of form design, something every designer should look at and dream of possibilities.

SELECT element in IE7 – An Overview

In IE6, the HTML SELECT element was implemented through the Windows Shell ListBox and Combobox controls. Some key features were missing in the old version of the SELECT element, such as proper support for z-index, TITLE support, and zoom. Web developers had to write complex CSS and scripts to workaround these issues.

In IE7 however, we re-implemented the SELECT element to make IE7 more standards-compliant. This new version does not use any Shell controls any more. In fact, it is implemented totally through the MSHTML framework, including styling, UI interaction, and rendering. Thus the SELECT element in IE7 is more of an HTML element than the former legacy control.


Form design is frustrating.

Form elements are up to the browser for final presentation unless you get into some tricky CSS and JS solutions and those are not necessarily cross-browser solutions. One particular problem I’ve experienced was with the nicetitles javascript that creates a nice popup box with the text of a title attribute on hover. I tried to use this on an insurance quote form to give the visitor better feedback on what was needed. IE6 would place the inputs on top of the popup window. I then tried moving the popup farther to the side to avoid this and that just looked hokey. So, I gave up on the idea. It would be interesting to test this now with IE7.

I’m also intrigued by the ability to use the title attribute on the select object. Normally, I would place the title on the label. However there may be times when the visual design requires hiding the label. Placing a title on the select would be a great way of letting people know the page may refresh or whatever action the select box leads to.

With rumors floating of an IE7 Beta2 developer release within a few weeks, we should begin looking for pages to test these new attributes on.

Standards-based jobs available! Do you know CSS, XHTML, and how to use the <dl>?

Ok everyone. If you are ready to enter the high-falootin’ lifestyle of the standards-based web developer, let me know. I know a few places in California looking for qualified programmers.

Filling the Vacuum

Other standardistas have been talking about the new web professionals, those who know how to create valid, accessible web sites. And those who are no longer true pros (who still use tables and invalid markup). What they are not discussing is the vacuum being left behind by the early-adopters. Let’s take me for example, as I always do enjoy the subject.

The Ted Factor

I have created a number of site conversions over the past 2 years. I’ve also moved up and up from job to job. I’d finish a conversion, move to the next, finish that, move to the next, etc… But who ends up maintaining these sites? That is the problem some companies are facing today. You hire someone that builds a standards-based web site and then gets tapped on the shoulder by a bigger company. Now the smaller company needs to hire someone that can work with this new creature.

I got an email today from a former employer. They need someone in San Diego who is ready to work. Sundance Kid and I made huge changes to their sites and now they need someone that knows how to continue the work without us. Another former employer has been searching for a web developer for over a year. What do they do? Hire a table hacker that will revert the pages back to tag soup?

Witness the Disney store makeover in Europe. They went from an accessible, standards-based design to a crappy mess. Why? Possibly it was due to lack of understanding. Perhaps they had nobody that could extend it and they felt more comfortable with the old cut-up images.

Education, Education, Education, Education…

As standards-based web developers, we need to educate others. Take someone under your wing and show them how to use CSS, DOM, or what it means to validate. Don’t hold it in. Be kind to your fellow workers and employers. If they are not recognizing your abilities, look around. Jobs are out there!

So, this post has rambled enough. If you are a standards-based developer. Leave a comment, I’ll respond with information on who to contact. Heck, leave a small resume and perhaps someone else will see this and contact you as well. The jobs I know of are in Southern California, but I do have certain connections to a very large company in Silicon Valley that is looking for quality developers.


I haven’t been concentrating on CSS much lately. I’ve been immersed in the world of XSL and recovering from bad televison. I did come across a very confusing problem in XSL the other day and a co-worker was able to point me to the answer.

XSL allows you to take raw XML and convert it to HTML, PDF files, or maybe even paper airplanes that can fly for miles. However, this chunk of XML that I was working with had HTML in a field that I needed to insert into my new, shiny XHTML pages. Further, the HTML was wrapped in a CDATA comment. (CDATA comments allow you to insert code that isn’t pretty and not throw the validators for a looop. And this code wasn’t pretty!)

The resulting pages had unprocessed HTML tags, i.e. links and br tags. How was I going to take this chunk and turn it into happy, shiny people-friendly elements? I tried the standard tools but the CDATA wrapping was blocking my every effort.

Finally, co-workerX sent me a link to Ned Batchelder’sCDATA isn’t special” post. The answer is actually pretty simple. At least, I want to think it is.

Ned suggests using a set of attributes to force the XSL to convert the HTML tags into elements and then uses XPATH to select the text node of the XML element instead of the entire element. Therefore, we are skipping the CDATA statement, grabbing the text within it, and displaying it to the world.

Here’s the final snippet

<xsl:value-of disable-output-escaping="yes" select="braincells/caffeine_powered/text()"/>

Am I barking up the wrong tree?

Is my logic correct? I hope this is the logic behind this solution. If not, please leave a comment to set the record straight.