So, I filled in relevant details and completed the booking procedure – nearly. When the tickets were confirmed with the airline and I expected a payment form, Internet Explorer decided to go minimalist and presented me with an entirely empty, white popup window. What gives?
View source. Of course. That's the sort of reflex my type of work gives you. When in doubt about a website's intentions, view source. Parse the scripts in your brain. Sniff out the errors..
But there was nothing whatsoever wrong with the source. They had sent IE a complete page, and IE just refused to render it! (If the initial step doesn't work in Opera and the final not in IE what browser DID they test with? FireFox only?)
So what now? I'm just a payment away from those tickets I want. IE is broken. Is it safe to reload this page, or will I buy another set of tickets if I do? Toggling the few styles/colours settings in IE doesn't help either..
Well, what about using Opera..? But now I have a history and a session in IE, I need those cookies..
So, I steal my own cookies from IE with a bookmarklet, use Opera's cookie manager to add these cookies to Opera, copy the address over and we're off. Opera shows that very page beautifully and I can complete the booking procedure. (Turns out they want you to choose a travel agency to handle payment though, it was a disappointment since I expected to pay there and be done with it. Afterwards I've had to chase the order by phone, so all in all an example of how online shopping should NOT be done..)
The morale: caring about cross-browser compatibility isn't just about allowing customers to use their preferred browser. It is about making your site more robust against unexpected errors, because if one browser fails for whatever reason you have given the customer other possibilities.