<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rinze Cats' Blog : HttpFilters</title><link>http://weblogs.asp.net/rinze/archive/tags/HttpFilters/default.aspx</link><description>Tags: HttpFilters</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Creating Accessible (WCAG) Asp.Net 2.0 Websites</title><link>http://weblogs.asp.net/rinze/archive/2008/01/27/accessible-asp-net-2-0-websites-beyond-css-friendly-control-adapters.aspx</link><pubDate>Sun, 27 Jan 2008 12:01:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5658935</guid><dc:creator>rinze</dc:creator><author>rinze</author><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/rinze/rsscomments.aspx?PostID=5658935</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/rinze/commentapi.aspx?PostID=5658935</wfw:comment><comments>http://weblogs.asp.net/rinze/archive/2008/01/27/accessible-asp-net-2-0-websites-beyond-css-friendly-control-adapters.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;By Now, anybody involved with building accessible websites in .Net 2.0 will have come across the CSS Frienly Control Adapter toolkit. For those of you who haven't, have a look at the &lt;A class="" title="Css friendly control adapter toolkit" href="http://www.codeplex.com/cssfriendly" target=_blank mce_href="http://www.codeplex.com/cssfriendly"&gt;codeplex cssfriendly project&lt;/A&gt;. Orginally released by Microsoft, but currently maintained by the community.&lt;BR&gt;&lt;BR&gt;I'll be doing a series of posts on the subject of building accessible websites using the control adapters, the control adapter toolkit&amp;nbsp;and other techniques, cause there is alot more to it then what is currently being addressed by the adapters in the toolkit. WCAG Guidelines stretch alot further then not using tables to create a page layout. Futhermore, the toolkit itself is&amp;nbsp;far from complete: there are a number of .Net controls that render&amp;nbsp;non-compliant output, which are very difficult to adapt in a correct way&amp;nbsp;(login control, linkbutton, gridview&amp;nbsp;etc.).&lt;BR&gt;&lt;BR&gt;In this first post I'll be giving an overview of some of the issues I encountered with the control adapters, the control adapter toolkit in specific and accessibility in Asp.Net websites in general. In the following post, I'll provide solution and techniques for all these issues. Furthermore, I will share my experience in adopting these techniques to&amp;nbsp;create&amp;nbsp;Xhtml&amp;nbsp;compliant websites using MOSS 2007. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;What control adapters should be doing&lt;/STRONG&gt;&lt;BR&gt;The first thing I noticed when I started working with the toolkit, was the abundance of class names throughtout the adapters. Using css to style your site is one thing, but adding all these class names is another. A good example of this is the menu adapter:&amp;nbsp;all that really needs to be marked is the selected menu&amp;nbsp;item, nothing else. But it marks almost every node!&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Removing classnames alltogether by using overloaded controls&lt;BR&gt;&lt;/STRONG&gt;Since Xhtml compliance and WCAG are very much general purpose, I'd like to seperate the adaptation of erronous .Net control behaviour and adding classes to add corporate identity to the output.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Adding control adapters for .Net controls&lt;BR&gt;&lt;/STRONG&gt;Adding adapters for a various controls can be quite troublesome. We'll give it a go anyways.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Remove Inline styling from your page header&lt;BR&gt;&lt;/STRONG&gt;The Inline style added to the page header should be removed. It adds nothing and goes against proper website building principles!&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Place javascript in your header&lt;BR&gt;&lt;/STRONG&gt;Script tags should be well-formed and placed inside the page header, nowhere else. .Net has a tendency to place them throughout your page!&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Take Control of&amp;nbsp;of the rendered output&amp;nbsp;using&amp;nbsp;a&amp;nbsp;XhtmlTextWriter, Modules and HttpFilters&lt;/STRONG&gt;&lt;BR&gt;Using various techniques involving httpfilters, page adapters en xhtmltextwriters, alot can be accomplished in an elegant way.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Adhere to some basic accessibility rules!&lt;BR&gt;&lt;/STRONG&gt;Some general stuff to consider.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Creating accessible websites using&amp;nbsp;Sharepoint / MOSS 2007&amp;nbsp;&lt;/STRONG&gt;&lt;BR&gt;I'll go through the basics and apply beforementioned techniques to properly generate Xhtml compliant websites using MOSS 2007.&lt;BR&gt;&lt;BR&gt;I'll follow up on this soon!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5658935" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/rinze/archive/tags/.Net/default.aspx">.Net</category><category domain="http://weblogs.asp.net/rinze/archive/tags/Accessibility/default.aspx">Accessibility</category><category domain="http://weblogs.asp.net/rinze/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/rinze/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/rinze/archive/tags/Control+Adapters/default.aspx">Control Adapters</category><category domain="http://weblogs.asp.net/rinze/archive/tags/CSS+Friendly/default.aspx">CSS Friendly</category><category domain="http://weblogs.asp.net/rinze/archive/tags/HttpFilters/default.aspx">HttpFilters</category><category domain="http://weblogs.asp.net/rinze/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://weblogs.asp.net/rinze/archive/tags/Sharepoint+Accessibility+kit/default.aspx">Sharepoint Accessibility kit</category><category domain="http://weblogs.asp.net/rinze/archive/tags/WCAG/default.aspx">WCAG</category></item></channel></rss>