With Mozilla (FireFox, Netscape, etc) becoming a more viable alternative to Internet Explorer, we've had a push for Gecko (the Mozilla rendering engine) compatibility at work, so we've been going back and redoing some things to layout correctly.
We noticed a few things that just weren't working. When we looked at the HTML source using FireFox, I was intrigued by the fact that all my div tags had become tables. Turns out, the ASP.NET browser capability detection identifies Gecko as a down-level browser, and gives you an Html32TextWriter rather than a regular HtmlTextWriter. And, sure enough, digging around using the Reflector confirmed that div tags are replaced by tables when using Html32TextWriter.
This guy, has a solution. Just thought some of you would be interested.
The browser capabilities section is extremely powerful and insulates you from alot of headaches, but the default configuration is very annoying. Take a look at your machine.config and you'll see what I mean.