Non-Native Widgets in IE

You heard it from the horse’s mouth – IE doesn’t use standard Windows controls. So all those who continue to complain about how XUL “re-invents the wheel” by doing its own widgets, and how that has to be the cause of our allegedly poor performance (did you start Firefox recently?) can finally pipe down.

Raymond Chen is a Microsoft guy who writes a fascinating technical blog called The Old New Thing. While hoping I never have to use any of the technologies he discusses, he writes so well and comes out with such great historical nuggets that it’s essential reading.

14 thoughts on “Non-Native Widgets in IE

  1. He says that the <select> element still uses a standard Windows control. That explains why other elements can’t be layered above a <select> (it “shines” through), but all other form controls work. That’s so annoying. I think Gecko has the same issue with plugins and z-index.

  2. I think one of roc’s essays on his personal site mentions the “IE uses native widgets” fallacy, but his site seems to be mostly dead or something, because I couldn’t connect to it. However, I did manage to find Why Mozilla Doesn’t Use Native Widgets from the Internet Archive — the IE mention is near the end, but the whole thing is worth reading if you have the time.

  3. Wow, guardian angel, that is a rather stunning admission! Not something I would have expected in a million years. I have reproduced it below in case it gets pulled from the IE blog.

    Dave Massy said:

    Dave P,
    I’d definitely encourage developers to examine what can be done using DHTML and JSCript rather than through ActiveX Controls. In the days of IE3 you needed to use ActiveX Controls to do simple things like menus. With the introduction of IE4 that could be achieved without using ActiveX Controls. As I said before ActiveX Controls are very useful but you shoudl only use them when you need to adn users should be cautious when installing any software from any source.
    Thanks
    -Dave

  4. So why didn’t IE ever tell us to use Javascript and DHTML instead of ActiveX after IE4 came out? Loving a nice fair playing field as they do, and being a friendly ethical company as they are, I guess they just forgot…

  5. > IE doesn’t use standard Windows controls

    Read again. What the referenced article actually says is:

    “The Internet Explorer team went and reimplemented all of the controls that a web page would need.”

    Note the words “web page”.

    The rest of the browser’s user interface — the menus, the toolbars, the dialog boxes, etc. — are all built around standard controls.

  6. Not entirely, x. Open up the IE Find dialog or the Organize Favorites dialog. Hold shift. Mousedown on “Find what” or “To create a…”, respectively, and drag across the dialog boxes. What do you see?

  7. Dear Gerv,

    This is very offtopic. However.

    I am applying to do a PhD in mathematics in Oxford next year.

    What college should I apply to, or who would I approach who might know?

    Central self-catered college provided accomodation for most, if not all, of my PhD is my main consideration. Beyond that, I would prefer the richest college possible. I don’t particularly care about formal dinners and traditions – I am far more interested in luxury and convenience.

    Thanks for your help. (I would email you but I couldn’t seem to get an address from your homepage).

  8. Blake, nothing really seems to happen at all. What am I looking for? I was going through VNC, so maybe a key control was being grabbed.

  9. Ummm … IE does use native controls in the chrome. Take a look with Spy++ and Accessible Explorer.

    Mind you, I love XUL which uses non-native widgets in the UI — but to be correct here, Raymond Chen is talking only about HTML, which is only about half of the widget technology needed in a browser.

    The GUI toolkit is what people are talking about when they say that about Mozilla reinventing the wheel and using non-native widgets. Anyone who does that needs to target accessibility APIs in their implementations in order to make those widgets accessible. Microsoft had to do that in HTML, but not in the UI.

  10. I am applying to do a PhD in mathematics in Oxford next year. What college should I apply to, or who would I approach who might know?

    Not too many colleges offer central accommodation if you are doing a PhD – and, if it is central, it’s likely to be in the college and therefore not self-catered.

    To be honest, I know as little about the current state of the things in your criteria as you do. Some research should reveal the answers.

    I’d happily recommend Univ for undergrads, but perhaps the postgrad experience is different to the undergrad one. I wouldn’t know.

    (I would email you but I couldn’t seem to get an address from your homepage).

    Really? What happened when you clicked on “Mail Me” in the sidebar?

  11. According to Raymond Chen’s blog (the article this one refers to), scroll bars in the IE window itself are also “homemade”–notice how (on XP) they don’t light up when you hover over them. This is probably what allows them to let Web pages specify custom scroll bar colors through CSS (yuck, and to think some supposed Web developer was complaining about it on Slashdot a while back).