The answers to the “Looking for a good interface developer?” questions
When I wrote Looking for a good interface developer? Here’s what to ask to make sure you’ve got the right person, I wasn’t sure if I should reveal the answers to you or just let you do the research yourselves. However, I came to the conclusion that this web site is really about sharing knowledge, and also that some of you might have some good extra input on my answers.
So, here are some answers and links to more information about the questions:
- Why does DOCTYPE matter?
- It’s mostly about rendering mode, and in my mind you should always go for strict. Read more at Transitional vs. Strict Markup by RJ, and I also scratch the surface in my post HTML or XHTML?.
- What’s the difference between Quirks Mode, Almost Standards Mode and Strict Mode?
- It is about layout modes, and is very well explained in Activating the Right Layout Mode Using the Doctype Declaration by Henri Sivonen.
- What is semantic coding, and why is it important?
- It is important because of accessibility, structure, search engine optimization etc. Read more in my old post Semantics.
- What is the box model?
- How padding, width, margin etc will be rendered on a block HTML element. Take a look at CSS Enhancements in Internet Explorer 6 (click on the “Fix the Box Instead of Thinking Outside It” link; frames are great, aren’t they…?).
- Explain the hasLayout problem and how it can be addressed.
- “HasLayout” Overview goes through it well, with links at the end to other valuable resources.
- What is specificity in CSS?
- Many people have tried taking a stab at explaining this, but I think Molly got closest to the truth (while maintaining a state of being understandable) in CSS2 and CSS2.1 Specificity Clarified. CSS specificity, boys and girls, is where CSS goes from nice fonts and cool layouts to rocket science.
- How does floats work in CSS?
- For a long time I though about writing a post about it, but it is a very difficult subject to explain in simple terms. Luckily my fellow Swede Tommy does it so good in Float Layouts that I don’t have to.
- What is WAI?
- WAI basically develops guidelines “widely regarded as the international standard for Web accessibility”.
- What problem do you stumble upon in Internet Explorer if you specify the font size in pixels?
- The font in the web page can’t be resized through the web browser interface. It has to specified in
em
or with some other dynamic unit. Note that this is a shortcoming of Internet Explorer and nothing else. - In what way does Internet Explorer handle
alt
incorrectly, and what are the consequences? - It shows the
alt
text as a tooltip, which is incorrect. Read Why doesn’t Mozilla display my alt tooltips? for a proper explanation of how it should really work in any serious web browser. Basically, this sentence says it all: “The value of thealt
attribute is a textual replacement for the image and is displayed when the image isn’t.”
JavaScript knowledge
In my previous post, I missed to take up any questions about JavaScript, so here’s my take:
My opinion is that any interface developer should know JavaScript. Anyone developing web interfaces without knowing how to serve the interaction to go with it is, in my eyes, not complete. A couple of links explaining it more thoroughly:
To be honest I think you are missing the user focus aspect of an interface developer. Technical knowledge is cool and certainly useful, but it is very important to evaluate your interface with real users – this may sound obvious but I've seen a lot of interface designs that can not possibly have been tested with users (else they certainly wouldn't have been released ;-)).
Unobtrusive JavaScript and the like is a part of this, but also things like the knowledge you expect of users (whether they understand a capsule-shaped "Send"-text is something clickable without explicit hints, for example), and well, a lot more. For those interested I recommend Interaction Design by Preece et al.
Nice. A welcomed addition to the first article.
Thanks Robert, I could use this type of information in my current book.
BTW, I wrote a comment in the book about IE displaying alt text as a tooltip and after thinking about it, I came to the following conclusion. Alt text as a tooltip, for designers who focus only on IE as their target browser, is dangerous because it intices them to make use of the alt attribute to present information that is not a text alternative to the image such as "Click here for more hockey skates" or worse in an image map showing a province with hotspot icons representing mine locations, "Click on one of the mining symbols for more information about that particular mine" (I was guilty of that in years past).
Sorry Robert, I forgot to finish my thought.
The problem with placing useful information in the alt attribute (let's assume that the information put there really is useful for all users), then users who aren't using IE don't see the information unless they disable the image.
However, I do not think displaying alt text in a tooltip per se is wrong. No specifications say it should not be done, as far as I know, and it does make some sense to use a tooltip (for example when a user doesn't find the displayed image clear he can refer to the alt text without manually checking the source).
Or does this count as hijacking the post and going way off-topic? 😀
Stijn wrote:
If so, then I was the one to start it.
I can't find the reference to it but apparently the W3C does state that alt text should not appear as a tooltip, that "behaviour" should be reserved for the title attribute.
Stijn: HTML 4.01 states that the alt attribute exists to "let authors specify alternate text to serve as content when the element cannot be rendered normally."
It seems to me that the obvious corollary is that alternate text should not serve as content when the element can be rendered normally. Presenting the alternate text in a tooltip is making it serve as content, even if it is dynamic content.
It isn't reasonable to conclude that, because no standard explicitly says "Don't do that", that it is therefore permissible to do so. As far as I know there is no standard forbidding me from writing a rendering engine that displays a large animation of a bouncing rabbit whenever the user types the letter "Z" in a form, but the fact that I wasn't explicitly told not to do it doesn't mean it's to be done.
Given that the title attribute exists, and that HTML 4.01 specifically suggests its use for tooltips, it is obvious that any requirement for tooltip text is already met, and IE is wrong to misuse the alt attribute in this way.
<blockquote cite="http://www.robertnyman.com/2006/10/17/the-answers-to-the-looking-for-a-good-interface-developer-questions/#comment-12806">It isn’t reasonable to conclude that, because no standard explicitly says “Don’t do thatâ€Â, that it is therefore permissible to do so.<blockquote cite="http://www.robertnyman.com/2006/10/17/the-answers-to-the-looking-for-a-good-interface-developer-questions/#comment-12806">It isn’t reasonable to conclude that, because no standard explicitly says “Don’t do thatâ€Â, that it is therefore permissible to do so. As far as I know there is no standard forbidding me from writing a rendering engine that displays a large animation of a bouncing rabbit whenever the user types the letter “Z†in a form, but the fact that I wasn’t explicitly told not to do it doesn’t mean it’s to be done.
(~ Nick Fitzsimons)
No, of course not, but that doesn't mean you shouldn't only do what the specs suggest and nothing else. I see serving <code>alt</code> as an alternative (rly), and <code>title</code> as an attribute that gives information that's not immediately obvious from the image only – and the specs seem to agree with me (though they are somewhat vague about <code>title</code> to me).
But, when you do not understand what the image is supposed to mean (because you're plain dumb, or for whatever reason, it happens to me sometimes) checking out the <code>alt</code> text might be useful. I find the tooltip the best way for this, and as the specs do not explicitly state it's forbidden I don't see much problems with it. Heck, even when they stated it was forbidden I wouldn't seemuch problems with it, though that's a whole different discussion 😉 Note that Mozilla's explaination (linked to by Robert) does not say anything about specifications but gives the way web developers abuse the attribute as a reason not to show <code>alt</code> as a tooltip.
I do agree that that is a real problem; <code>alt</code> being used as <code>title</code>. However, I don't find that a good reason not to display it as a tooltip. Mozilla doesn't seem to have making every web developer code in a standards/semantics-aware way as goal, or they would've dropped support for a lot of legacy elements (<code>embed</code> for example) too, so I don't see why they would make an exception for this.
Stijn:
If you accept the logical validity of the corollary I present in my second paragraph, then the specs implicitly state that it's forbidden. Specifications and standards should not be interpreted solely in terms of the specific words on the page, but in light of the logical implications thereof. Otherwise one can argue that almost anything one cares to think of is permitted.
But I do not 😉
You are right that the specs should be extrapolated at some points. However, I do not agree with you in this specific case, at least not with the way you interpret them.
I'm tempted to demand that you identify the logical flaws in my argument, but I think Robert has better things to do with his blog than host Socratic disputations about the meaning of the word "not" 🙂
I wish the W3C would make this point more clear though, perhaps in an erratum.
Anyway, it's time to be off to the pub 🙂
You beat me to it. I started writing answers to the questions last night, but never finsihed 🙂
Anyway, I actually made good use of some of your questions today during a few interviews I held.
Stijn,
Interesting question. Some people think it's up to the interface developer to know about user focus and interactivity while others think that coding is the only aspect.
I tend to think an interface developers should know both, but depending on what company/assignment we're talking about, there may also be people with advanced degrees in cognitive thinking, pure interaction designers with numerous years of experience and so on also present in the situation.
So' I'd say that in some cases it's a must-know, but not in all.
Aaron,
Thanks!
Jules,
Well, that's the gist of it. Personally, I think information put in the <code>alt</code> shouldn't necessarily be of use to all users, but only to those who don't see the image.
Stijn, Nick,
Nick, you answered Stijn about the same thing I would've about that topic; and no, Stijn, it's not off-topic, but instead good that you ask.
Don't wory about not continuing the discussion; I think it's good to talk about and ventilate different opinions. So, feel free to go on! 🙂
Gustaf,
Well, I felt obliged to answer them myself. 🙂
Also, I'm happy to hear that they were of use to you!
Robert wrote:
That's exactly my point because if the information put in alt attributes is for all users (I mean both sighted and visually impaired, whatever their browser), then IE's tooltip will benefit only IE users.
(Maybe I am not writing clearly.)
[…] ) Geek to Live: Make your own font – Lifehacker (tags: fonts design software tutorial) The answers to the “Looking for a good i […]
[…] ntact
The answers to the �Looking for a good interface developer?� questions Followup (now with Javascript!) to thi […]