WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章WAP教程WAP 2.0使用 Web 标准生成 ASP.NET 2.0 Web 站点

使用 Web 标准生成 ASP.NET 2.0 Web 站点
作者:Stephen Walther  来源:Stephen Walther  发布时间:2006-4-27 1:19:21
来生成用于 headers 属性的值。

清单 8 中的 ASP.NET 页生成如下所示的 HTML 表。

<table> 
            <thead> 
                <th id="hdrID">ID</th> 
                <th id="hdrName">Name</th> 
                <th id="hdrPrice">Price</th> 
            </thead> 
            <tbody> 
            <tr class="categoryRow"> 
                <th colspan="3" id='hdrCategory0'> 
                    Beverages 
                </th> 
            </tr> 
                <tr> 
                    <th id='hdrProduct1'> 
                        1 
                    </th> 
                    <td headers='hdrCategory0 hdrProduct1 hdrName'> 
                        Chai 2 
                    </td> 
                    <td headers='hdrCategory0 hdrProduct1 hdrPrice'> 
                        $18.55 
                    </td> 
                </tr> 
                <tr> 
                    <th id='hdrProduct2'> 
                        2 
                    </th> 
                    <td headers='hdrCategory0 hdrProduct2 hdrName'> 
                        Chang 
                    </td> 
                    <td headers='hdrCategory0 hdrProduct2 hdrPrice'> 
                        $19.00 
                    </td> 
                </tr> 
                .... remainder of the table

请注意,每个 <td> 标记都包含适当的 headers 属性。

返回页首
创建可访问的 XHTML
很多可访问性准则共有的一个主题是这样一个概念 — 即,Web 页应当符合标准,这样才能成为可访问的页。按照准则,您应当努力使用最新的 W3C 标准(例如,最新版本的 XHTML 和层叠样式表)来生成 Web 站点。 

特别需要指出的是,在设计 Web 页时,您应当将文档的结构与它的表示形式分开。请使用标记来表示 Web 页的结构,并且使用层叠样式表来控制 Web 页的外观。

例如,绝不要仅仅使用 <blockquote>元素来缩进文本块。<blockquote> 元素的用途是创建原文的引文。如果您希望缩进文本,则应当改而使用层叠样式表 margin 属性。 

您还应当只在表示数据表时使用 <table> 标记。尽管使用 <table> 标记来对 Web 页面进行布局在当前是一种常见的做法,但是,请尽可能改而使用 <div> 标记。例如,清单 9 中的页具有三列式布局,但是不包含一个 <table> 标记(参见图 12)。



图 12. 不含表的页布局


清单 9. Tableless.aspx

<%@ Page Language="VB" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Tableless Layout</title> 
    <style type="text/css"> 
    #content 
    { 
        margin-left:auto; 
        margin-right:auto; 
        width:800px; 
    } 
    #leftColumn  
    { 
        float:left; 
        width:150px; 
        border:1px solid black; 
        padding:10px; 
    } 
    #middleColumn 
    { 
        float:left; 
        width:430px; 
        padding:10px; 
    } 
    #rightColumn  
    { 
        float:right; 
        width:150px; 
        border:1px solid black; 
        padding:10px; 
    } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="content"> 
    <div id="leftColumn"> 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    Left column contents... 
    </div> 
    <div id="middleColumn"> 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    Middle column contents... 
    </div> 
    <div id="rightColumn"> 
    Right column contents... 
    Right column contents... 
    Right column contents... 
    Right column contents... 
    Right column contents... 
    Right column contents... 
    Right column contents... 
    Right column contents... 
    </div> 
    </div> 
    </form> 
</body> 
</html>

清单 9 中的页包含四个 <div> 标记。第一个 <div> 标记(名为 content)用来指定页的内容区域的宽度。其余三个 <div> 标记(分别名为 left、middle 和 right)将内容区域划分为三列。该页可以在 Internet Explorer 6、Firefox 和 Opera 8 中正确显示(要查看一些不使用 HTML 表创建布局的真正漂亮的页面,请参见 http://csszengarden.com。)

WCAG 准则认为,不可能总是避免使用 <table> 标记来创建页布局,因为较旧的浏览器不完全支持层叠样式表标准(请参阅 WCAG 准则 5)。在无法避免使用表创建布局的情况下,您应该确认这些表的内容在进行线性化(即,按照表-单元格顺序来阅读)时是有意义的。 

因为 ASP.NET 框架必须与旧式和新式浏览器同时兼容,所以一些 ASP.NET 控件实际上确实使用 <table> 标记来创建布局。例如,ASP.NET 2.0 Login 控件使用 <table> 标记来控制用户名和密码输入字段的布局。 

返回页首
创建可访问的脚本
WCAG 和 508 节准则中包含的一个非常严格的限制与客户端脚本有关。根据 WCAG 1.0 准则中的优先级 1 检查点,要求:


6.3 确保页在脚本、小程序或其他编程对象关闭或不受支持时是可用的。如果这是不可能的,请在可访问的替换页中提供等效信息。[优先级 1]

508 节准则包含类似的要求:

(l) 当页利用脚本语言来显示内容或者创建界面元素时,应该用可通过辅助性技术阅读的功能性文本标识由该脚本提供的信息。

问题在于,多个 ASP.NET 控件要求具有客户端 JavaScript 才能正常工作。这方面的主要示例是 ASP.NET LinkButton 控件。LinkButton 控件使用 JavaScript 将包含该控件的表单提交给 Web 服务器。 

该问题没有很好的解决方案。如果需要生成能够满足所有可访问性准则的 Web 站点,则需要非常小心地使用客户端脚本。您可能需要避免使用某些依赖于 JavaScript 的 ASP.NET 控件,例如 LinkButton 控件。

遗憾的是,在生成现代 Web 站点时,很难遵守该准则。这种假定似乎使得 Web 站点更像杂志而不是应用程序。现代 Web 站点倾向于包含动态的客户端内容。例如,很多房地产 Web 站点包含一个 JavaScript 按揭计算器。人们尚不清楚 JavaScript 按揭计算器的文本等效物应该是什么。

返回页首
验证页的可访问性
与存在 XHTML 的完全自动化验证程序不同,并不存在完全自动化的可访问性验证程序。之所以不存在可访问性的自动化验证程序,原因在于判断页的可访问性需要人工解释。

例如,为了使 Web 页可访问,该页中的每个图像都必须包含有意义的替换文本。目前,没有任何计算机能够确定一段文本是否具有与图像相同的含义。可访问性验证程序最多只能提供应该检查的事物的列表。

Visual Studio .NET 2005(但不是 Visual Web Developer)包含可访问性检查器。可从工具栏中打开可访问性检查器。还可通过选择菜单选项 Tools、Check Accessibility 来打开它(参见图 13)。



图 13. Visual Studio .NET 2005 可访问性检查器


可访问性检查器提供了用于按照 WCAG 优先级 1 检查点、WCAG 优先级 2 检查点或 508 节准则验证 Web 站点的选项。可以通

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码