Web Devout tidings


Archive for April, 2006

Google advertises Firefox on its front page

Wednesday, April 26th, 2006

Google, the current leading web search engine, has begun advertising the Firefox web browser on its front page. The ad encourages visitors to download Firefox with the Google toolbar, and currently appears to only be targetting Internet Explorer users.

Google has long been a supporter of Mozilla Firefox, and has employed several Mozilla developers including Ben Goodger, Darin Fisher, Brian Ryner, and Mike Pinkerton to work in Google’s own Firefox development team. They have also developed a number of Firefox extensions and provide a service that pays website owners to specifically advertise Firefox on their websites.

The Google front page receives a tremendous amount of traffic, and the fact that it is currently being used to promote a leading browser in standards compliance is a very good thing for the health of the Web.

Update: Currently, only visitors in the United States are shown the advertisement.

Here is a screenshot of the advertisement:

Google Firefox advertisement

Update: The advertisement appears to be up or down at different times for different people. If you don’t see it, it may come up for you later.

Internet Explorer 7 Beta 2 is released

Wednesday, April 26th, 2006

Internet Explorer 7 Beta 2 is now available for download. The previous release was a preview of this beta. Although the version that was released in March was announced to be “layout complete”, meaning that no significant additional rendering engine changes would be made until the final release, Beta 2 is now considered “feature complete”, meaning the user interface also isn’t expected to receive any more changes.

The official blog post on the release alludes to new changes in “some CSS behaviors”, but none of the public bug reports that I am tracking have yet been marked as fixed. I will retest the support of some of the areas most likely to be addressed once the final version of Internet Explorer 7 is released or if the bug reports’ statuses change.

Opera 9.0 Beta 1 is released

Thursday, April 20th, 2006

Opera 9.0 Beta 1 has been released. This version includes significant improvements to the layout engine, as well as several new user interface features and support for BitTorrent downloads. An official changelog is available.

The problem with the NET

Sunday, April 16th, 2006

Use of XHTML today is decidedly harmful to the health of the Web when the documents are sent with the text/html content type for Internet Explorer compatibility. This is why I wrote the Beware of XHTML article, explaining some of the reasons why this misuse can lead to future problems and illustrating the situation with some examples. Now I’d like to talk about another potential problem with XHTML sent as text/html: Null End Tags.

As explained in the article, when a document is sent with the text/html content type, most major browsers including Internet Explorer, Firefox, and Opera treat the webpage as if it is actually regular HTML. As a result, they don’t correctly handle self-closing tags, instead treating them as start tags with an erroneous character inside them.

However, there’s more of a problem than just this. Technically speaking, if the browsers are really treating the page like HTML (and therefore SGML), they shouldn’t think that the closing slash is an erroneous character. According to the rules of SGML, they should think that it’s part of a Null End Tag, a kind of shorthand for simple elements that only contain character data. For example, according to the rules of SGML, a title element could be written <title/This is the title of the page/ which would be the equivalent of <title>This is the title of the page</title>. The first slash finishes the start tag, and the second slash represents the end tag if the element can have one.

Now let’s look at a situation in which this would present a problem. Think about this markup: <div>This<br/>is<br/>a<br/>test.</div>. That would work as expected in XHTML, but here’s how a browser should see it when treating the page as HTML: <div>This<br>>is<br>>a<br>>test.</div>. Notice the extra > after each br tag. Since the br element is defined as an empty element (it doesn’t have contents and doesn’t have an end tag), only one slash is relevant for each element. The slash finishes the tag right there, meaning the > character isn’t considered part of the tag, but rather character data after the tag. The presence of a space before the slash makes no difference.

The above markup should result in the following output when treated like HTML:

This
>is
>a
>test.

…That is, if browsers supported Null End Tags. Unfortunately, the major ones currently don’t, meaning that this issue gets entirely overlooked by most web developers. Rather than properly treating the slash as part of a Null End Tag, they treat it as an error and just skip past the character, often resulting in something quite like what it would get with the correct XHTML treatment, but for the wrong reasons.

Keep in mind that there are many issues like this, and use of XHTML should be avoided unless used correctly, with a correct XHTML content type.

Firefox reflow branch reportedly passes Acid2 test

Wednesday, April 12th, 2006

The Gecko reflow branch, being developed by David Baron to significantly improve fundamental aspects of the rendering engine in Mozilla browsers, now reportedly passes the Acid2 test.

The Acid2 test was developed by the Web Standards Project (WaSP) as a way to demonstrate some inconsistencies major browsers have with literal interpretations of the standards. It covers a wide range of HTML and CSS features, including the box model, selectors, objects, strict CSS and comment parsing, CSS display values, generated content, and more. Although it only covers relatively small portions of the standards, it was designed specifically to illustrate some bugs in every major web browser.

Throughout April 2005, Dave Hyatt focused on getting the Safari web browser to pass the Acid2 test, and succeeded by the end of the month, making Safari the first major web browser to render the Acid2 test correctly in its internal developmental builds. By June 2005, Macintosh browser iCab passed the test, followed by the Konqueror browser for Linux. In December, the Prince XML file converter passed the test, and in March 2006, a technical preview of Opera 9 succeeded in passing it.

Now, developmental builds of Firefox join the list of browsers that pass the test. The reflow branch, which has received those last fixes, will eventually merge with the trunk to premier in Firefox 3.0, currently planned for release in 2007. The upcoming Firefox 2.0 will not have any webpage layout engine changes, but will focus solely on user interface improvements instead. The layout engine changes, including the move to the Cairo graphics backend, are very significant and will require more time for testing, so they will all be incorporated in the Firefox 3.0 release.

The only major remaining graphical browser that doesn’t pass the Acid2 test in developmental builds is Microsoft’s Internet Explorer. The developers have said that passing the Acid2 test is not a high priority because their customers are putting demand on other more specific features. After a several-year-long development halt of Trident, Internet Explorer’s layout engine, the developers are currently working to add support for features other browsers have supported for quite a while, rather than focusing on some of the refinement details illustrated by the Acid2 test.