Folks on my team setup a good set of reviews for me last Friday to go over our final plans on Accessibility and XHTML compliance for ASP.NET Whidbey. I left the meetings feeling really good about where we'll end up when Whidbey ships.
I've been pushing my team hard over the last few months to come up with a plan whereby we can definitely say that all output generated by the built-in ASP.NET Server Controls is XHTML (and HTML 4.01) compliant by default.
Identifying all of the various XHTML rules (and the varying levels of support: XHTML 1.0, 1.1 and strict/transitional) and how these impacted our controls took some time. Thankfully we had the help of Stephen Walther (www.aspworkshops.com), who did a great job working with us part-time to come up with a detailed list of issues with our current markup implementations, and in identifying a list of changes necessary to support it.
At our meeting on Friday we signed off on making the appropriate code changes. We spent some time debating the level of XHTML we'd end up supporting (I confess I went into the meeting ready to push only for XHTML 1.0 support). In the end we walked away though with a plan that will enable us to output XHTML 1.1 by default.
There are about 15 or so classes of changes we need to make throughout the framework. The most interesting/unususal is the requirement to wrap our hidden viewstate tags within a hidden div -- since hidden inputs are apparently no longer allowed immediately under a tag. The good news is that we have time on our schedule to get all of these done in the next few weeks before our final feature milestone ends.