Christian Heilmann

You are currently browsing the archives for the General category.

Archive for the ‘General’ Category

Don’t use window.sun or function sun() in Firefox – lest you want to start Java!

Friday, February 27th, 2009

I just came across a mind-boggling “ghost in the machine” style problem in Firefox: if you use window.sun or function sun() in JavaScript you effectively start the Java VM. As explained in this article on doctype

There are a few “magic” properties on Mozilla’s DOMWindow interface for supporting LiveConnect that will initialize the Java plugin and all the baggage that comes with it (which, with modern Java plugins, means launching java.exe as a subprocess). Looking up these properties on the window object is all it takes.

Other properties to avoid are:

  • java
  • Packages
  • netscape
  • sun
  • JavaClass
  • JavaArray
  • JavaMember

So if you want to make sure that the performance of your webapp doesn’t go down the tubes makes sure you avoid any of these.

TTMMHTM: Minifig business card, Mozilla community guide, mental office, and Ant scripts

Thursday, February 26th, 2009

Things that made me happy this morning:

Spaceman meets people in the 50ies and tells them about Twitter

So how do you add alternative text to background images?

Wednesday, February 25th, 2009

One thing that drives me up the wall is the inertia that happens in the accessibility world. We do our best to keep the web development world aware of accessibility concerns but in the other direction I just don’t see much drive to even understand the basic principles of web design.

My favourite example is the question that crops up almost every 3 weeks on different communication channels:

The WCAG guidelines state that every image needs alternative text but we are using CSS background images a lot [Ed: sometimes this question is also about CSS sprites] – how do you define alternative text for background images?

OK, here is the scoop, people:

CSS background images which are by definition only of aesthetic value – not visual content of the document itself. If you need to put an image in the page that has meaning then use an IMG element and give it an alternative text in the alt attribute. You can also add a title attribute to add extra information that will be displayed to every user as a tooltip. If your image has a lot of content (for example a graph) then consider using the longdesc attribute to link to a textual representation of the same data or display the same data for example as a data table in the same document.

That is it – images in CSS are only visual extras, not page content, hence they never need alternative text. “Rounded corner” or “blue-yellow gradient” does not help anybody as alternative text – on the contrary, it annoys the end users.

It is not rocket science, really!

TTMMHTM: Motion Tracking in JS, Firebug tricks, MACCAWS recycling and AI fail

Wednesday, February 25th, 2009

Things that made me happy this morning:

Free PHP security talk on 3rd of March in London

Tuesday, February 24th, 2009

Following my talk on web application security at the Web Directions North I had a lot of questions on PHP security and I have to admit I am OK but not an expert on the matter. Luckily enough there are experts I rely on and if you are in London next Tuesday you can go and see them give a talk for free!

In the second in the series of “YDN Tuesday” monthly events, Jose Palazon, Yahoo’s mobile security expert, will be talking about PHP Security.

The venue is Skills Matter Limited at 1 Sekforde Street, EC1R 0BE
London, England.

Jose will be presenting a series of demos on how to exploit and prevent the most popular security flaws in web applications, such as SQL and blind SQL Injections, Cross Site Scripting, file uploads, file handling functions, global variables and, favorite of them all, programmers ingenuity!

YDN Tuesdays are tech talks held on the first Tuesday of every month at Skills Matter’s London offices. The events are FREE, but you need to sign up for them at Skills Matter’s website.