Fun with Web Design

Tuesday, November 29, 2005, at 06:14PM

By Eric Richardson

I hate Flash. Sort of. I hate when sites use it poorly, and I particularly hate the ways the Flash plugin breaks the client user interface experience (stealing key focus breaks arrow key scrolling and keyboard shortcuts, etc). But today I found myself implementing sIFR (Scalable Inman Flash Replacement) on a site I was getting paid to design. The site has little text and is very look driven, so it makes sense to use the superior text rendering in Flash and the ability to remote deliver a font using sIFR. I got it working, and after banging my head against the wall for a bit I actually even got it working right.

But still I had a problem. The site design has the replaced text over a light background image, which needs to show through like it would on normal text. Flash has some support for that via the wMode attribute, but it's a bit flaky and doesn't work at all under Linux.

That got me thinking: I know the background image I want to lay under the text. To figure out a width and height for the text, sIFR's javascript looks at the DOM to determine the width and height of the text being replaced. Conceivably I could similarly look to the DOM to tell me where my content is on the page. With those bits of information, could I then pull the background image into the sIFR Flash movie and pan it to the appropriate spot so that the movie looks transparent without actually using wMode?

That's the question for tomorrow.

On a related topic, I today renewed my distaste for Internet Explorer and its broken box model.