IntroductionAccessibility by term means something which is accessible. An accessible website is one which is accessible by everyone. People with any kind of disabilities also should be able to use a website same like a normal person. Major efforts have been done in standardizing the approach by World Wide Web Consortium's and Web Accessibility Initiative. Their efforts have also produced a set of guidelines which comes under DDA (Disability Discrimination Act). There are set of standards as WCAG 1.1, WCAG 1.2, WCAG 1.3 and Access Board Section 508. These standards have a set of checklist which one has to consider making a website accessible. Web Accessibility Initiative (WAI) has taken steps to prepare guidelines to make websites, software, and tools to be accessible. Websites are vital part of society as the trends of social websites are increasing day by day. So people with disabilities also need to be a valid user of the website. Otherwise, say you have a "Social website", they would be only accessible to say 65% normal customers, and 35% of disabled persons would not be able to see or check out what your business is. This way not only you are blocking your clientage but also being unfair to them by not allowing them to access your product. How can we say that a person is disabled, and how can we tackle this in our website. 1- A person comes to your website for shopping but he is color blind Solution: We can use proper style sheets to manage colors and text sizes so any user can adjust according to need. We normally see such panels on top of accessible websites to adjust the visual parameters 2- Say you are running a music website, and a deaf person visits your website, how will you tackle this as the visitor would not be able to listen as he is disabled. Solution: You need to add audio captions in place of the music control, so that the content is accessible to them as well. 3- People visit your website with Dyslexia problem, in this case user find it difficult to interpret the written content on the website, it is a neurological disability, and is not an intellectual disability. Solution: More options to search pages, provide a graphical representation as well. 4- Suppose a visitor is deaf and blind both Solution: Use Style sheets, accessible multimedia with audio captions if any, should be independent of devices, use proper Xhtml techniques There can be many more scenarios that exists and can be tackled if we see the complete checklist of World Wide Web Consortium's and Web Accessibility Initiative. Microsoft based websites developed in ASP.NET can be optimized and configured of Web accessibility standards by considering the rules in our mind. Let's take an example site and try to see how we can develop an accessible website and what steps we need to make to make this website accessible. Let's create an Ajax Enabled ASP.NET website Clicking on "OK" button will generate the website with a default page, and put a code in it as well. Let's analyze the code below which .net produces for us and see if it is accessible. <%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
</div>
</form>
</body>
</html> Visual Studio.net has a built in accessibility checklist option in the toolbar. Click icon A window will popup like below: Here we can see that WCAG Priority checklist 1 is disabled as that has the most common points we need to adhere in our coding and are sort of compulsory as well. Lets click validate to see that we have any "Errors", "Warnings" or "Manual CheckList" in our code which we have missed. Note here that we need to fully remove the Warnings as they are most important, and then on second priority we need to check for errors and on least priority are our Manual Checklists. Here we can see that though we have not done any coding yet, but Microsoft has checked the code against the standardized checklist, and produced for us a little error report, luckily we do not have any errors yet. We receive set of warnings and messages, which are certainly optional for us to correct or not. Let's add a script block here in above code as below: <%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<script language ="javascript" type="text/javascript" ></script>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
</div>
</form>
</body>
</html> Now check for accessibility by clicking on validate button  See the warning number 1, it says that we should also provide a no script tag. off course it is necessary that we should provide a no script tag, as if JavaScript is disabled then our code behavior would be disturbed. Similarly for frames we need to add a <noframes> tag and for <object> we should provide a <noobject> tag. Otherwise you better understand what possibly could happen. This way whenever you produce some code, do check against the checklist, as visual studio.net 2005 and 2008 have awesome support to check for accessibility errors so one should make a habit of validations and rules. Visual studio assists in developing accessible websites to the fullest but we as developers show laziness or sometimes due to deadlines we are in hassle, and we do not care about. But later on we have to pay for extra time as we always get cross browser websites. Let's follow the same example and see how Visual Studio assists us in development. Let's add a table in above code.   Here we can see that we are asked to provide all the information including summary description and other attributes, though we also need to add table headers and captions where necessary to make a table fully accessible. Let's see a fully accessible code with a table below: 1 <%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head runat="server">
6 <title>Untitled Page</title>
7
8 </head>
9 <body>
10 <script language ="javascript" type="text/javascript" ></script><noscript></noscript>
11 <form id="form1" runat="server" >
12 <asp:ScriptManager ID="ScriptManager1" runat="server" />
13 <div>
14 <div style="text-align: left">
15 <table border="1" cellpadding="1" cellspacing="1" summary="This is a demo table">
16 <caption>
17 </caption>
18 <thead>
19
20 </thead>
21 <tr>
22 <th></th>
23 <th></th>
24 <th></th>
25 </tr>
26 <tr>
27 <td style="width: 100px">
28 </td>
29 <td style="width: 100px">
30 </td>
31 <td style="width: 100px">
32 </td>
33 </tr>
34 <tr>
35 <td style="width: 100px">
36 </td>
37 <td style="width: 100px">
38 </td>
39 <td style="width: 100px">
40 </td>
41 </tr>
42 <tr>
43 <td style="width: 100px">
44 </td>
45 <td style="width: 100px">
46 </td>
47 <td style="width: 100px">
48 </td>
49 </tr>
50 </table>
51 </div>
52
53 </div>
54 </form>
55 </body>
56 </html>  It is clear that we have reduced the warnings to nine and there are zero errors in the list. Apart from Visual Studio, you can also check your website for accessibility and other standards on URL below: http://uitest.com/ http://validator.w3.org/ Hope this discussion will help the developers to have an idea for how to make the ASP.NET websites accessible and cross browser compatible. For reference i am providing the checklist provided by W3C Accessibility PrioritiesEach checkpoint has a priority level assigned by the Working Group based on the checkpoint's impact on accessibility. Priority 1 A Web content developer must satisfy this checkpoint. Otherwise, one or more groups will find it impossible to access information in the document. Satisfying this checkpoint is a basic requirement for some groups to be able to use Web documents. Priority 2 A Web content developer should satisfy this checkpoint. Otherwise, one or more groups will find it difficult to access information in the document. Satisfying this checkpoint will remove significant barriers to accessing Web documents. Priority 3 A Web content developer may address this checkpoint. Otherwise, one or more groups will find it somewhat difficult to access information in the document. Satisfying this checkpoint will improve access to Web documents. Some checkpoints specify a priority level that may change under certain (indicated) conditions. All about check points , you can read here SummaryIn this article, you have learned about website accessibility and how we can implement in asp.net website as well.hopes help and thank you for reading. |