QuirksBlog - Content

New or updated pages on QuirksMode.org.

| Mobile CSS tables 2013 | Site |

Gradients (and screenshots) update

Permalink | in Content

Just now I published the retests of the CSS Images and replaced content spec, which includes gradients. It was during these tests yesterday that I discovered Android screenshots aren’t always trustworthy, and meanwhile I’ve got enough information for an update.

Many people advised me to take a screenshot of the screenshot. I did, and it shows the original screenshot correctly instead of repeating the problem. So this avenue of research does not lead anywhere.

continue reading

Transition tests

Permalink | in Content

Today I published my tests of CSS transitions in the desktop and mobile browsers. I created the test cases ages ago, but interpreting the results turned out to be tricky.

continue reading

DOM HTML table updated

Permalink | in Content

And here’s the first table updated according to the new IE8-and-up rule. It’s past time I updated the DOM Compatibility tables, even though they’re not as exciting as they were ten years ago.

continue reading

Touch action tests

Permalink | in Content, Touch events

Just now I published the latest touch action tests. There are no nasty surprises, although IE remains idiosyncratic.

The most common touch action is the single tap. When that action occurs, browsers fire off a whole slew of events, mostly in order to remain backward compatible with older sites that only use mouse events. Although there are quite a few deviations from the “standard” order of these events, they don’t matter much. The average script won’t break because the mouseover event fires before the touchstart event. Still, I documented all deviations. Who knows when this will come in handy?

I also studied the double tap, pinch-zoom, and scroll actions and found that browsers generally fire those events you would expect. The contextmenu event, which could serve as a useful proxy for a touchhold actions, is badly supported.

I also updated the mobile events page with the new information gleaned from these tests.

Enjoy.

Orientationchange and resize events on mobile

Permalink | in Content, Content, Viewport

I published my research on the orientationchange and resize events on mobile. If you’re expecting plenty of browser incompatibility fun you won’t be disappointed.

continue reading

A brilliant Sony idea; new tests

Permalink | in Content

Recently I updated the CSS Text and CSS Selectors tables to my latest mobile browser test array. I found a new Android bug and a moment of sheer brilliance at Sony.

continue reading

W3C DOM Core tests

Permalink | in Content

During the past several weeks I’ve been busy writing tests and performing them, and now the result is here: the W3C DOM Core compatibility tables for desktop and mobile browsers. I wrote 185 tests plus a test harness, and performed them in 57 browsers (17 desktop and 40 mobile), for a total of 10,545 tests done.

continue reading

A new round of compatibility testing; input requested

Permalink | in Content
0 comments

After too many months of not doing any testing at all, I’m gearing up towards a major round of compatibility testing. Today, I’d like to ask you if you know DOM Core tests that I need to run.

continue reading

New CSS tests - units and values

Permalink | in Mobile CSS tables 2013

Just now I uploaded the Units and Values desktop and mobile tables. They contain tests for many useful units, such as em, mm, vh, calc() and much more.

Oh boy, units and values.

Most compatibility patterns are actually quite simple: a browser does or does not support a given unit. There are a few exceptions, though.

continue reading

New CSS tests - images and replaced content

Permalink | in Mobile CSS tables 2013

Just now I published the Images and replaced contents tables. By far the most important feature are gradients, and in general they’re tolerably well supported.

continue reading

New CSS tests - CSS2 and Backgrounds & Borders

Permalink | in Mobile CSS tables 2013

Yesterday I published the CSS2 and Backgrounds & Borders mobile tables.

CSS2 is the table that contains all properties that were never redefined in any CSS3 module. It includes such vital properties as display, position, and overflow. Backgrounds & Borders, despite the name, is mostly about backgrounds and a few miscellaneous properties. I test border-radius, but the other border-related property, border-image, is WAY too complicated for me.

On mobile there are three declarations that merit particular attention: overflow: auto, position: fixed, and background-attachment. Despite their apparent differences they have one important aspect in common: there is now an element that should be scrolled and moved (or not scrolled or moved) separately from the page as a whole. That turns out to be a challenge for many mobile browsers.

continue reading

New CSS tests - CSS2 and Backgrounds & Borders on desktop

Permalink | in Mobile CSS tables 2013

This week I published the CSS2 and Backgrounds & Borders tables for desktop only. I found no surprises. That concludes my publications for this week.

CSS2 is the table that contains all properties that were never redefined in any CSS3 module. It includes such vital properties as display, position, and overflow.

The mobile tables are delayed because I’m waiting for a bunch of Nokia phones to arrive. I’m not sure when I’ll get them, but I hope to be able to continue the mobile tests late next week. Maybe I’ll publish another desktop table in the mean time.

And when I publish the mobile tables, oh boy, the stories I can tell. overflow: auto and position: fixed on mobile, baby!

New CSS tests - fonts and text

Permalink | in Mobile CSS tables 2013

Just now I published the desktop and mobile tables for the CSS Text module and related ones — think italics, underline, and letter-spacing, but also hyphenation and text-shadow.

continue reading

New CSS tests - selectors and columns

Permalink | in Mobile CSS tables 2013

Over the weekend I finished the first two CSS compatibility tables new style: selectors and columns. These tests are almost complete (a few selectors are missing), and have been executed in 40 or so browsers, desktop and mobile.

continue reading

CSS gradients

Permalink | in Content

In the past month I’ve researched CSS gradients, and I can finally present my findings. As usual, there was no source that gives clear, concise, accurate information about the three syntaxes and the four rendering engines, so I decided to write it myself.

Here is the inevitable compatibility table. Below I excerpt part of my introduction to gradients.

continue reading

CSS Compatibility Tables updated

Permalink | in Content

Yesterday and today I worked on the CSS Compatibility Tables and retested everything in the latest crop of browsers. There is some improvement, but also a lot of stagnation.

continue reading

QuirksMode.org reader survey, part II

Permalink | in Site

In December I held a QuirksMode reader survey on Urtak. It had 69 questions, and about 59,000 answers were given by about 1,100 respondents. A few weeks back I published part 1 of my survey. Here’s the next few findings.

continue reading

Retesting the input types

Permalink | in Content

I have retested the support for the new input types (<input type="number"> and such) in the desktop and mobile browsers.

All in all support has increased slightly since the last time I tested them, although Safari desktop, Chrome, and BlackBerry have seen some decline. Safari and Chrome have mainly done away with badly or buggily implemented types — it’s clear they’re rewriting significant parts of this module.

continue reading

QuirksMode.org reader survey, part I

Permalink | in Site

In December I held a QuirksMode reader survey on Urtak. It had 69 questions, and about 55,000 answers were given by about 1,100 respondents. Here’s a partial summary of the findings.

continue reading

Reader poll continues

Permalink | in Site

If you’re bored during the holidays I encourage you to take my poll; it’ll help me understand who my audience is. Please answer as many or few questions as you like; although I’d like to ask you to answer at least 15 to 20 or so.

continue reading

QuirksMode reader poll

Permalink | in Site

OK, it’s time for an experiment. I created a reader poll about QuirksMode, your testing habits as a web developer, and your devices.

continue reading

The resize event on mobile

Permalink | in Content, Viewport

Last week I did some research on the resize event on mobile and tablet browsers. Executive summary: it’s a mess. And the best browser, surprisingly, is Samsung’s Dolfin.

My conclusions are, summarised:

continue reading

Event compatibility tables updated

Permalink | in Content

Back in June I requested donations to pay for the time I needed to update the desktop browser compatibility tables. The community responded overwhelmingly. Today I present the first installment of my side of the promise: the event compatibility tables have been updated.

Donations are still very welcome, and now you know that this is the sort of thing your money is going to be used for.

continue reading

Conference organiser’s handbook

Permalink | in Conferences, Content

I’ve written a Conference Organiser’s Handbook in which I share some of my experiences with organising conferences, and offer beginners the solid, practical advice that they need. It’s free; do whatever you like with it (except for copying it entirely to another URL).

continue reading

Mobile WebKit update: tablet time

Permalink | in Content

Last week I updated the Mobile WebKit comparison table with four browsers: Safari 4,2 (on iPad), Android 3 (on Samsung and Motorola tablets), the BlackBerry PlayBook browser, and the WeTab browser.

The WhatTab? The WeTab. You probably haven’t heard of it, unless you’re in Germany. Bear with me.

continue reading

The new input types

Permalink | in Content, HTML5

On Monday and Tuesday I did some heavy-duty research into the new HTML5 input types and attributes, and I published a desktop and a mobile compatibility table.

Let’s start with some good news. The readonly attribute, which makes a form field read-only, is supported by all browsers, both mobile and desktop. Even IE9. Cool, huh?

The rest of the input story is worse. Much worse. Let’s put it like this: Obigo WebKit, a browser nobody but me has ever heard of, outperforms iPhone and Android.

continue reading

Mobile compatibility updates

Permalink | in Content

Yesterday I received a Palm Pre 2, which, after some initial difficulties, I got to work. I combined it with the HTC Smart that I had received earlier, made sure the latest updates to Opera Mobile and Firefox were installed on my trusty Nexus One, and did some testing.

continue reading

No comment

Permalink | in Site

At the end of December I turned off comments for the QuirksBlog. As far as I’m concerned they’ll stay turned off forever, except when I actually want to ask a question.

I didn’t take this decision, the decision took itself while I looked on musingly. The time has come, and I give up a little bit of good stuff in order to get rid of a serious annoyance as well as comment spam.

continue reading

The Firefox problem

Permalink | in Content, Mozilla
16 comments (closed)

In recent weeks Firefox 4 beta 1 and Opera 10.60 were released, and I could also put my hands on a working Chrome 4. I added all these browsers to the compatibility tables, which are now all updated, except for the Events one.

continue reading

More IE9 goodness and elementFromPoint()

Permalink | in Content, IE
14 comments (closed)

Well, I’ve revised the DOM CSS and the DOM CSS OM tables, too, and IE9 continues its march. It supports the standards!

continue reading

IE’s big leap forward; CSS3 selectors fully supported

Permalink | in Content, IE
21 comments (closed)

In the past few days I’ve been revising the CSS compatibility table with information about the latest crop of browsers. There’s no doubt about it: this is IE9’s show. It just supports nearly everything. No hassle, no buts.

Besides, CSS3 selectors are now fully supported by all browsers but one. And that one browser is not IE. It’s, curiously, Opera.

continue reading

Background module supported; vendors ditch prefixes

Permalink | in Content
8 comments (closed)

I just finished my CSS3 background tests, and I’m happy to report that all browsers but one now support the module very well. Also, I’m pleased to report that all browser vendors but one have ditched the vendor prefixes and now support the pure, correct CSS3 properties.

All browsers but one. If you guess that that one browser is IE, you’ve guessed wrong. It’s Firefox.

continue reading

New WebKit tests

Permalink | in Content
2 comments (closed)

I have updated the WebKit comparison table with data from Safari 5, Chrome 5, and Android 2.1. Improvements throughout!

continue reading

Changes

Permalink | in Conferences, Content, Personal
17 comments (closed)

Well, a new year has started, and it’s tradition to give an overview of where you’re standing. So here’s mine.

As longtime readers may remember, I was totally burned out at the end of both 2007 and 2008. I’m happy to report that that trend has been broken; although I was glad to have a little holiday at the end of 2009, I returned to work without noticeable problems. So that’s good.

However, I have decided that certain aspects of my professional life are in need of a change; notably my public speaking and my compatibility tables.

continue reading

DOM Core tests on desktop and mobile

Permalink | in Content, Mobile
6 comments (closed)

Last week I’ve done the DOM Core tests in new browsers: IE8 final (in both IE8 and IE7 mode), Firefox 3.5b4, Safari 4.0, Chrome 1 and 2, and Opera 10a. I found no surprises.

After that I decided to continue with mobile browsers, of which I have 15 lying around on my desk. Unfortunately I could not test IE Mobile (old) because it supports only inline event handlers, Skyfire because it does not allow you to remove alerts, and the Opera runtime in the Vodafone widget manager for terrifyingly complicated reasons I still have to describe properly.

Still I managed to test the other twelve and found a few surprises.

continue reading

Google sponsorship, compatibility tests, and my SF visit

Permalink | in Conferences, Site
6 comments (closed)

I’m pleased to announce that Google has graciously agreed to sponsor my work on my compatibility tables. We’ve entered an agreement for this year; after that we’ll see what happens.

Therefore, if you go to the compatibility tables now, you’ll see a tasteful little sponsor bar at the bottom of every page with a well-known logo in it.

continue reading

Recent compatibility updates

Permalink | in Content
1 comments (closed)

In the past two months or so I’ve done a lot of compatibility testing, and I thought I’d give you an update.

I’m increasingly posting my real-time raw test results and announcing new versions of tables on Twitter; so if you’re interested in that data you can follow me.

continue reading

To Hell With Bad Browsers — the sequel

Permalink | in Site
29 comments (closed)

Almost exactly eight years ago, Jeffrey Zeldman wrote To Hell With Bad Browsers, in which he implored web developers to start ignoring Netscape 4 because its standard support sucked majorly. Yesterday several large Norwegian sites placed a warning against IE6 on their pages.

Web developers from all over the world are following this initiative with interest. To Hell With Bad Browsers is obviously in for a remake.

Just now I added an IE6 warning to QuirksMode.org (not that my visitors need any; this site probably has the most browser-savvy audience in the world). I also wrote an upgrade page that attempts to explain the problem and its solution to end users.

continue reading

State of the Browsers

Permalink | in Browser Wars, Chrome, Content, IE, Safari
35 comments (closed)

There’s some browser news to discuss, and I thought I’d bundle it all in one entry. Maybe I’ll even do this more often; it seems a good feature for this blog. But I’m not promising anything!

This weekend I started testing some new browsers, and meanwhile I’ve updated the HTML and CSS tables. There were no surprises. I’m continuing with the Events tables, but they’re so large and sometimes so complicated that I’m not sure when I’ll finish.

In this installment we’ll take a look at IE8RC1 and some reactions to it, Safari 3.2, Chrome’s lack of a “Check for updates automatically” feature and Opera’s antitrust complaint.

continue reading

CSS Compatibility updated

Permalink | in Content
12 comments (closed)

I’ve updated the CSS Compatibility Table as the first step in a complete update of all Tables. Frankly, this was one of the more boring updates I’ve ever done.

I tested four browsers:

All in all a meager result for many hours of work. I suppose I should be extatic about how little browsers do wrong these days, but it makes my work considerably more boring.

Further updates are planned, but I’m not going to give a specific timeline for them; we’ll see how it goes.

iPhone events

Permalink | in Apple, Coding techniques, Content, Touch events
14 comments (closed)

Yesterday I walked into the local phone store because the “Temporarily Unavailable” sign had been removed from their “Get your iPhone here” poster. To my utter surprise they had six (6!) entire iPhones for sale, and no, there was no waiting list. I walked back home with a shiny new gadget, impatient to start testing it.

Meanwhile I’ve done some tests; now it’s time for a report.

Before we continue, let’s get the bad CSS news out of the way: Safari on the iPhone does not support position: fixed. Certain Other Browsers were ridiculed for this lack; Safari won’t be.

I’ve updated the CSS Table, the Core Table and the Events Table. In this entry I’m going to talk about JavaScript events on the iPhone. They’re — interesting.

continue reading

getElementsByClassName

Permalink | in Content
12 comments (closed)

This is worth a formal note: getElementsByClassName() is now natively supported by the most recent versions of Firefox, Safari, and Opera. I added it to the compatibility tables. Obviously, as long as Certain Other Browsers do not support it we can't yet really use it everywhere, but it's a ray of hope.

And you wrote your custom getElementsByClassName() function to keep an eye on native implementations, didn't you?

function getElementsByClassName(node,classname) {
	if (node.getElementsByClassName)
		return node.getElementsByClassName(classname);
	else {
		// your custom function
	}
}

Event compatibility tables

Permalink | in Content
14 comments (closed)

Somewhere near the end of February I started working on my site again as a sort of therapy to get over my burn-out. I focused on the compatibility tables, which were in desperate need of an update; I hadn't published any major new versions since 2005. Besides, new browser versions are proliferating all over the place and people need to know what these browsers can and can’t do.

Today I can finally unveil my most ambitious update: the Events compatibility tables. All in all I think I spent two weeks’ of work on them; testing all common events not only in common situations, but also in unusual ones. A quick test of basic browser support for W3C and Microsoft events completed this series of tests.

continue reading

CSS OM, take 2

Permalink | in Content
5 comments (closed)

Just now I re-tested the CSS Object Model, both to accomodate IE8b1, FF3b4 and Safari 3.1, and because some of my earlier conclusions were wrong.

continue reading

IE8b1 tests and more CSS tests

Permalink | in Content
10 comments (closed)

In the past few days I've worked a bit on my compatibility tables. IE8b1 information has been added to the W3C DOM Core and HTML tables.

Furthermore I've taken the opportunity to present the CSS compatibility table better. I split the page into two tables, CSS 2.1 and CSS 3, and I added a few CSS tests. The table below shows the new tests and their browser compatibility.

Update: Added Safari 3.1 Windows information to the main CSS table only.

Finally, a question. Who knows of CSS 3 declarations that don't yet figure in the CSS table but are supported by at least one browser? (Nightlies don't count, but betas do.) Please leave a comment with declaration name and supporting browser. It'll help me get my testing priorities straight.

continue reading

The CSSOM View Module

Permalink | in Content, Standards/W3C
16 comments (closed)

A week ago W3C published the first working draft of the W3C CSSOM View specification (written by Anne van Kesteren), and I must say I'm very happy with it. Since I was testing stuff anyway I created a new compatibility table for most of the methods and properties specified in this document, and browser compatibility is already excellent.

That's no coincidence. This specification contains definitions for many properties (and a few methods) that browsers have already been supporting for ages (such as offsetWidth), and W3C has paid scrupulous attention to the current implementation. No more theorizing into the blue — just check what browsers do and describe it in the specification. Excellent idea.

continue reading

Minor compatibility tables updated; spring cleaning

Permalink | in Content
11 comments (closed)

Rather to my surprise I started early on QuirksMode's spring cleaning. I removed about 50 pages that hadn't been updated since 2003 or 2004 and contained ancient and crappy scripts, or descriptions of old browser versions that nobody cares about today.

In addition I wrote a simple (but ponderous) script that finds out exactly which pages contain compatibility tables. I lost overview a few years ago, but this script reveals that there are currently 24 compatibility tables on my site. (There used to be 27, but I removed three.)

continue reading

W3C DOM CSS compatibility table updated

Permalink | in Content
2 comments (closed)

I just finished updating the W3C DOM CSS compatibility table. With the previous version almost three years old, it was about time. In the past three years, Safari and Opera have started to seriously support the editing of style sheets, and the new table reflects that.

I decided not to study iCab any more. The new version 4 is rumoured to use the WebKit code engine, and a quick test of a few properties showed that this is likely correct. (Unfortunately the iCab site does not actually mention this fact, so I'm still not 100% certain that WebKit is really being used. On the other hand, 95% certainty is enough.)

W3C DOM HTML Compatibility table updated

Permalink | in Content
9 comments (closed)

The W3C DOM HTML Compatibility table has been updated, too. All in all browser differences are becoming markedly less; we're actually approaching the day on which there will be no (well, OK, few) incompatibilities left.

W3C DOM Compatibility Core table updated

Permalink | in Content
6 comments (closed)

After more than two years I have resumed working on the DOM Compatibility tables. Just now I finished the Core table, which now includes information for IE 5.5-7, Firefox 2.0, Safari 3.0 Windows, Opera 9.5b, iCab 3.0 and Konqueror 3.5.7 . I removed IE 5.0 and IE Mac because these browsers aren't important any more.

I'm also in the process of creating new test pages which (I hope) will be easier to maintain than the old ones. I uploaded all new Core test pages, but I think that a few of the other tables refer to these, too. So I'm afraid that some test page links will be broken in the other tables; eventually I'll get around to fixing them.

I'm not sure exactly when I'll update the other tables, but I hope to get them finished before the end of this year.

CSS compatibility updated

Permalink | in Content
8 comments (closed)

Yesterday I finally got a new Linux machine with Konqueror 3.5.7 installed. (If that is not the latest version, please don't tell me. I don't want to know.) As a result I could finally start updating the compatibility tables, and as usual I started with the CSS ones.

While I was at it I upgraded the information to Firefox 2.0, Opera 9.5b and Safari 3.0 Windows. In general, compatibility has improved slightly.

Reversed spam?

Permalink | in Site
16 comments (closed)

Lately, my Technorati page shows more and more odd links to my site on pages like this. The "Online Casinos News Life Luxury Reports" link at the bottom links to this site.

Can anyone explain why spammers think this is a good idea? I don't mind having a bit of extra traffic, but for the life of me I can't understand why spammers want this, too. This site is not an Online Casinos News Life Luxury Reports, after all.

Maybe I can make a lot of money with this. If people want to gamble online, I'm more than willing to accept their money. Maybe I should write a Texas Hold-em script. In fact, I think I did exactly that a few years back. Let's see if I can find the script.

Any clarification is welcome.

Drag and drop

Permalink | in Content
17 comments (closed)

A week ago I surprised myself by writing a simple drag and drop script in five minutes, without needing to debug even one single error. I enthousiastically started to write a QuirksMode page about it, until I realised that a mouse-only drag and drop script is distinctly old-fashioned these days.

Therefore I had to add keyboard compatibility, which took me five hours (mainly thanks to the confusing event situation.) Due to other pressing matters it took me five days to write the final version of the page.

It's finished now. So here's a drag and drop script in case you need it.

continue reading

Introduction to Ranges

Permalink | in Content
11 comments (closed)

I just wrote an Introduction to Ranges. Ideally this would be the start of an article series similar to my Event series. I'm not going to promise anything, though; I'm too thinly spread as it is, and I have no idea when I'll continue working on this series.

I've been working on a Range compatibility table, and even though it's not even remotely finished I'll officially unveil it now; chances are it'll take me quite a while to create proper test pages and test the dozens of methods and properties I haven't (yet) needed in my Range project.

Most popular pages on QuirksMode.org

Permalink | in Site
5 comments (closed)

Recently Google released the very handy Webmaster Tools app, with which you can see how many links to pages there are, plus quite a few other goodies. This allowed me to create a Top Ten list of the most popular pages on this site, as measured by incoming links.

continue reading

Importing the site navigation

Permalink | in Content, Redesign, XMLHTTP
4 comments (closed)

I added a new page about importing the site navigation on all QuirksMode.org pages. The page is mostly about why I do what I do, and less about the how (besides, technically it's quite easy). The site navigation is a perfect example of what Jeremy calls Hijax.

I also put my trusty XMLHttpRequest functions online for future reference. No explanations on this page; I already treated them in section 10A of the book.

Detecting keystrokes

Permalink | in Content
4 comments (closed)

Just now I cut short my research to the two key properties keyCode and charCode. Of course I published the results, but I didn't go quite as far as I originally planned. The punctuation keys, especially, will remain a mystery for reasons explained on the page.

continue reading

French translations

Permalink | in Content
0 comments (closed)

Good news for my French readers: Christophe Bruggeman has taken the time and trouble to translate quite a few of my JavaScript pages into French. I quickly scanned his translations, and they seem to be adequate and accurate (though my French is a bit rusty, and I might overlook some details).

He copied my old JavaScript Table of Contents to his own server and started working from top to bottom. He isn't yet ready, but expecting him to deliver a full translation of everything on my site would be absurd: it's far too large, as I can testify.

Individual pages now contain links to the French translation, when available.

Thank you, Christophe, for your trouble. And remember, anyone can translate any page to any language, provided you keep to a few rules detailed on the copyright page.

Preferences

Permalink | in Site
6 comments (closed)

I implemented a Preferences page on which you can indicate your preferences for several QuirksMode.org features.

continue reading

Redesign: the CSS

Permalink | in Redesign
6 comments (closed)

I promised to go into more detail about the redesign; here's the first installment in which I talk about some aspects of the CSS.

continue reading

QuirksMode.org redesigned

Permalink | in Redesign
33 comments (closed)

As you can see on this page, the QuirksMode.org redesign has gone live. It's not quite ready yet; right now I estimate that it's about 95% finished, but the remaining 5% will take a lot of time to implement, and therefore I decided to go live now instead of waiting another few weeks.

continue reading

Redesign postponed; d.construct

Permalink | in Conferences, Redesign
8 comments (closed)

Although I'm almost ready with the promised redesign of QuirksMode.org, I'm nonetheless going to postpone it. There are two reasons:

  1. I'm stuck with the overview pages the new interaction design calls for.
  2. I'm sick and tired of sitting in front of my computer all day.

continue reading

Updating content pages

Permalink | in Content, Redesign
17 comments (closed)

As I think I said before, I am working on a redesign. In fact, I've been working on it for months, on and off, when the book permitted. Now that the book is ready I have more time to spend on it, and it's coming on nicely. (Oh, and before you ask, the frames will go. They've done their duty and I don't need them any more.)

Currently I'm going through all content pages and updating them; and since these updates go live the minute I finish them, I thought I'd give you an overview of what I'm doing.

continue reading

Gone for a long weekend

Permalink | in Site

From today, Friday 28 July, until next Wednesday, 2 August, I'll be in the countryside where there is no Internet. This site is therefore closed in that period; anything that needs my personal intervention will have to wait until next Thursday.

Browser detect 2.0

Permalink | in Content
24 comments (closed)

I'm in an ethical quandary. I've written a new browser detect script that's definitely better than the old one, but I hesitated for almost a day before publishing it. I'm afraid that amateur web developers will take the function and abuse it. Nonetheless, I decided to publish. I just hope I won't be sorry a year from now.

Here it is. It uses navigator.vendor wherever possible, because this property is much more reliable than the good old navigator.userAgent. I also ported the whole script to one neat object that can be dropped into any script.

continue reading

Comments and contact restored

Permalink | in Site
0 comments (closed)

The commenting system has been restored on QuirksBlog and the Bug Report thanks to Joost Diepenmaat. I closed them off for this entry (I don't see much value in comments about the commenting system), but I have turned them on on my book announcement page so that you can congratulate me.

Update: The contact form has been restored, too. I don't promise to answer quickly, but I will answer eventually.

Chaos rules QuirksMode and my schedule

Permalink | in Site

Right now chaos rules on QuirksMode.org, and I'd like to apologize for it. To name but a few things: comments are disabled, I'm at least one month behind with Bug Report entries, and the contact form has been closed down for months.

First the good news: this will change. I want to go back to the situation where QuirksMode is a normal, well maintained blog/resource site. Then the bad news: it might be another month before something actually happens.

continue reading

Frontal nudity

Permalink | in Site

Nakedness sweeps the Web thanks to Dustin Diaz. I myself definitely decline to go without a modest bit of garment, so the navigation and logo frames will remain styled, as well as the content pages. In order to support the Cause I did disable my homepage's style sheets.

The idea was to catch those bits of markup that don't degrade too well without CSS, and as you can see there are a few on my homepage. These will be fixed in the continuously upcoming redesign.

Update: styles restored. I felt too naked without them.

getElementsByTagNames()

Permalink | in Content
5 comments (closed)

One of my fondest W3C DOM wishes is a getElementsByTagNames() method (note the plural "names") that returns elements with several tag names in the order they appear in the document. This is extremely useful in for instance my ToC script which needs all h3s and h4s in the order they appear in the source code.

When I discovered the compareDocumentPosition() method in Level 3 Core, I could finally write a custom script that works in most browsers.

Therefore I now proudly present my new getElementsByTagNames() script. It requires either sourceIndex or compareDocumentPosition to work fully, and since Safari 1.3.2 supports neither the script doesn't sort the elements in this browser.

iCab 3.0; CSS compatibility updated

Permalink | in Browsers, Content
4 comments (closed)

iCab 3.0 is a surprisingly good, independent Mac (OS X and 9!) browser created by Alexander Clauss. It has good (though not perfect) CSS1 and DOM1 support, and to my surprise it even contains a speech browser. More than enough reason to recommend iCab to all Mac users that read my site, and to update my CSS compatibility table.

continue reading

Element dimensions

Permalink | in Content
8 comments (closed)

I added a page about element dimensions, ie. the actual width and height of HTML elements. It contains a little test plus the inevitable compatibility table.

Portfolio update: Concertgebouw and KLM

Permalink | in Content
3 comments (closed)

Quite unexpectedly I was able to add a site to my portfolio that had been shelved for nearly two years: the new website of the Concertgebouw in Amsterdam. In addition I'd like to draw attention to the new KLM site, in which I had a modest involvement and which contains an interesting CSS/JavaScript feature that I haven't yet seen anywhere else.

continue reading

Opacity setting

Permalink | in Content
15 comments (closed)

It turns out that not all table elements are susceptible to opacity. The TR, especially, is obnoxious, and that's a pity because I really needed to set its opacity.

See the new Opacity setting page for the details and a test.

Multi-column layouts

Permalink | in Content
8 comments (closed)

The new Firefox 1.5 (= Mozilla 1.8, as far as I understand) is the first one to support multi-column layouts. Of course I created a quick test page to study the effect.

Back

Permalink | in Personal, Site
1 comments (closed)

Well, I'm back from all my holidays. My throat problems are mostly over, although I still don't have hot water in my house. Even so I'll start working again tomorrow, and I've spent a large part of the weekend in catching up on QuirksMode.org related matters.

continue reading

More holiday

Permalink | in Personal, Site

Thursday night I returned from a relaxing holiday in Greece. I'd planned to do some work on Friday, before leaving for the countryside again on Monday.

Unfortunately Friday was a rather disastrous day. My central heating unit, which also provides my hot water, suddenly began expelling flames when I turned it on, and a hurriedly fetched mechanic told me it cannot be used any more due to the danger of carbon monoxide poisoning. No hot water, no showers, no shave.

Then the dirty, nearly windless air prevailing here in Amsterdam started working on my nose and throat, and right now I'm taking tea with honey, orange juice, and more such medicines in an attempt to stave off a cold.

All this means that I'm going to extend my holiday silence considerably. I'm disastrously behind on all jobs except for comment approval, but that's not going to change in the near future. No replies to the 200 or so mails still waiting for me.

If you need me, sorry, you'll have to have more patience; my unavailability has been extended for at least another week.

Holiday

Permalink | in Personal, Site

Today I leave for a two week holiday in Greece. As usual I won't touch a computer while I'm over there, so everything that requires my personal intervention will have to wait until at least Friday 19 August.

I'll be only patchily available during the rest of August, and I don't take any new job, no matter how small, paid or volunteer, before 5 September.

See you all later.

Multiple background images

Permalink | in Content
11 comments (closed)

Following the revelation of Safari's support for multiple background images I created a very simple page that tests this new feature. Safari indeed supports it; Explorer Mac shows the second background image, but not the first, and Explorer Windows, Mozilla and Opera don't show anything.

Accessible event pairs

Permalink | in Content
12 comments (closed)

In order to keep our pages accessible to non-mouse users, we must use non-mouse events like focus or keydown in addition to mouse events like mouseover and click. I created the new Event pairs page and related tests to study this problem.

My conclusions are:

continue reading

Benchmark tests: style vs. className

Permalink | in Content
43 comments (closed)

There are two ways of changing the style of an element: changing the element's style properties or changing its className. I feel that the second option should be a Best Practice, since it honours the separation of behaviour and presentation, where a style change doesn't. After all, changing the style of an element in JavaScript means that your script file contains presentation information. That is not right: presentation instructions should go in the CSS file.

I wanted to make sure that changing the className doesn't lead to performance problems. My new style vs. className benchmark test clearly shows that it doesn't. In fact, changing the className is faster than changing the style in all browsers but Safari.

I'm very glad of this outcome, since I can now solemnly declare changing the className whenever you want to change the styles of an element a Best Practice, not only from a theoretical point of view, but also from a practical one.

QuirksMode.org redesign

Permalink | in Redesign
5 comments (closed)

Regular visitors may have noticed that my homepage has changed a bit in the past few days. The old one was too cluttered and contained too much information. Besides, it didn't have any space left for the new Elsewhere on the 'Net feature. So I significantly revised my main blog pages and the content they deliver to the homepage.

Like my recently started validation drive, the homepage restructuring is just one aspect of the full-fledged QuirksMode.org redesign I'm planning. Besides, the redesign set me thinking about separation of structue and content.

continue reading

Quirks and strict mode; validation drive and <wbr />

Permalink | in Content, Validation drive
10 comments (closed)

I just updated the Quirks mode and strict mode page. I added a bit about the "almost strict mode" and test pages for font sizes in TDs.

I also found one new problem in the validation drive: most of my large compatibility tables liberally use the <wbr /> tag, which is invalid. I acknowledge the problem, I will note it in the validation texts, I will remove all other validation errors, but right now I'm not going to do anything more.

Like custom attributes, the <wbr /> tag requires some more thought. As my research shows, this tag is the least bad alternative for adding soft word breaks to pages; and the compatibility tables badly need soft word breaks.

QuirksMode goes strict mode

Permalink | in Redesign, Validation drive
57 comments (closed)

A few readers may have spotted the delicate gray text that appeared at the very bottom of my homepage last Saturday. It says "Valid XHTML 1.0". These few readers may even have drawn the correct conclusion: QuirksMode has started moving in the direction of valid XHTML 1.0 Transitional. Note: "moving in the direction of". For reasons I explain below this site will never be 100% valid, but I have decided to make an effort and see what happens next.

Besides, my content pages are long, long overdue for a cleanup, and I'm going to combine this sanitation with the switch to XHTML. Unfortunately the very first static page I edited gave raise to a fundamental question that I don't have an answer to. Therefore I submit one aspect of the maintenance of QuirksMode.org to a reader vote.

continue reading

Gone to London; site closed

Permalink | in Site

Today I leave for London to attend the @media 2005 conference. I will return home on Sunday. During that time this site is effectively closed: anything that needs my personal approval, as well as any mails I have to answer, will have to wait until next week.

Hope to see some of you at the conference, or maybe at Saturday's JavaScript get-together.

About page updated

Permalink | in Content
1 comments (closed)

I just finished a major update of the About page, which gives some information about myself and about QuirksMode.org.

Comments restricted to 1500 characters

Permalink | in Content, Site
9 comments (closed)

Just now I implemented a 1500 characters maximum length for all comments on my QuirksBlog and Bug Report. Part of this reworking is a script that politely alerts the user when he exceeds this limit. I already discussed such a script in general terms in my JavaScript Triggers article on A List Apart, and of course I added a page that explains the script for all curious JavaScripters.

continue reading

DOM vs. innerHTML

Permalink | in Content
6 comments (closed)

I did the W3C DOM vs. innerHTML speed tests in Mozilla 1.75, Opera 8 and Safari 1.3. Little change in the first two browsers, rather more in Safari.

Safari 1.3

Permalink | in Content, Safari
21 comments (closed)

Two days ago Apple's team launched Safari 1.3, being part of the OS X.3.9 upgrade (once again named after a fierce predator, but I forget which one). Despite numerous bug fixes, the new release is marred by extremely serious onunload problems.

continue reading

Clearing floats the overflow way

Permalink | in Content
22 comments (closed)

Being cut off from the news hurts. I nearly missed the spectacular discovery that overflow: auto | hidden helps stretching up a container block to accomodate floating elements, something that until now could only be done through adding an HTML element.

I added a page about this technique, to record it for posterity and to emphasize that the technique works best with overflow: hidden because of an Explorer Mac problem, and also needs a defined width or height. This last point wasn't clearly mentioned in any article I read.

Busy

Permalink | in Personal, Site
9 comments (closed)

Right now I have a large writing job (not a book, unfortunately), and it takes rather more time that I thought it would. Since I'm working on it almost every waking hour, I'm getting a bit tired of writing. That's the reason I'm not posting any blog items right now, and I'm afraid this situation will continue throughout March.

continue reading

W3C DOM compatiblity tables updated

Permalink | in Browsers, Content
2 comments (closed)

I did the W3C DOM tests in Mozilla 1.75 and Opera 8b and updated the tables. Mozilla doesn't show much progress (then again, it doesn't have to show much, it's already the browser that supports the W3C DOM best). Opera is on the move again.

continue reading

What's the point of these comments?

Permalink | in Site
12 comments (closed)

I'm getting increasingly mystified by comments like this:

<a href="http://ssszcwyqwer.com/">oosgqx</a> 
poiuyt http://ghjklkpgaiequgo/

What is the point of these comments? Are they an extremely subtle sort of spam? If so, what's the purpose? The domain ssszcwyqwer.com doesn't exist, so generating traffic or a high search engine ranking for it doesn't make sense.

I understand spammers. I understand people who leave stupid comments. I don't understand people who leave incomprehensible comments.

Opera 8b; compatibility tables updated

Permalink | in Content, Opera
2 comments (closed)

I just downloaded Opera 8b (from this location), and since I now have two new browsers I updated a few compatibility tables.

continue reading

Visitor stats

Permalink | in Browsers, Site
9 comments (closed)

I thought I'd give you the current visitor stats for this site, gathered through the Reinvigorate system. Of course these figures are only valid for this site, and should never under any circumstance be used for any other site.

continue reading

Portfolio: Sandwiches and funerals

Permalink | in Content
2 comments (closed)

Added two portfolio items: onzeCatering.nl and the DELA Uitvaartkompas (literally "Funerary Compass", but the name doesn't survive translation). Both are heavily form-oriented sites, and the first one uses a new idea for searching through large amounts of items which I hope to expand in future projects.

continue reading

Marrying a static site to a blog

Permalink | in Site
4 comments (closed)

Aside from the new domain name, the main reason I embarked on the QuirksMode.org project was that my old sites were becoming a nightmare to maintain and a mess to navigate. Rigorous information restructuring solved these problems nicely, but now that I've added two blogs to my site the problem is returning. Besides, I'm having difficulties making Movable Type do what I want.

continue reading

The state of QuirksMode.org

Permalink | in Site
10 comments (closed)

As I promised a month ago, I have finally added the QuirksBlog to my site. It'll serve as my personal blog, not only for announcing new pages on this site and articles on other sites, but also for commenting on the web developers' world in general. In addition to this proud announcement, I'd like to give a general overview of where QuirksMode.org currently stands.

continue reading

Bug Report live

Permalink | in Site
0 comments (closed)

As I promised almost a month ago, I now proudly present the Bug Report system. Started as a simple sidebar on this page, the system aims to gather, explain and discuss any CSS or JavaScript browser bug.

continue reading

QuirksMode: first anniversary

Permalink | in Site

I almost, but not quite, forgot that today is this site's first anniversary. Exactly one year ago I was very glad to finally publish it and put an end to an increasingly interminable development phase.

continue reading

Quirks and Strict Mode

Permalink | in Content
0 comments (closed)

According to my referers, many visitors find my site through Google while searching for "quirks mode". Naturally, this site has a rather high ranking on this query due to its name. Nonetheless, I hadn't yet added a page that explains the differences between Quirks and Strict Mode, which is probably what these visitors are searching for.

Therefore I finally added a page Quirks and Strict Mode which explains how to trigger them and some differences between these two modes.

Selection styles

Permalink | in Content
4 comments (closed)

Found out by accident that it's possible to style the text selected by the user in Mozilla and Safari.

wbr

Permalink | in Content
8 comments (closed)

Updated the wbr page with the &shy; entity and a table outlining the resulting incompatibility soup.

Bug Report

Permalink | in Site

New feature on my site: the Bug Report.

continue reading

Styling an input type="file"

Permalink | in Content
10 comments (closed)

Reader Michael McGrady was kind enough to send me a way of styling an input type="file", something that came in very handily in a project I was working on.

continue reading

Back

Permalink | in Personal, Site

I'm back in business, after a restful and relaxing holiday in Greece, a major network breakdown, a long weekend in the countryside, and lots of sipping alcoholic beverages on sunny terraces.

I've even done a few minor updates today:

  1. A reader sent me the correct syntax for createAttribute(). See the W3C DOM Core tables - Attributes under createAttribute().
  2. Another reader told me that the odd document.createStyleSheet("javascript:'div{margin:0px;}'"); syntax is the correct one for Explorer Windows. I didn't test this one.
  3. Added one new portfolio item: Ubachs Wisbrun. To my surprise, this site became table based.

This is the blog of Peter-Paul Koch, mobile platform strategist, consultant, and trainer. You can also follow him on Twitter.
Atom RSS

I’m around at the following conferences:

(Data from Lanyrd)

Categories:

Monthlies: