ASP.NET导航控件的SkipLinkText 属性

微软关于导航控件的SkipLinkText属性的解释,确实令人有些难以理解。但通过分析该属性生成的HTML代码并弄清“屏幕读取器”的概念之后,就很好理解了。

下面是SiteMapPath生成的HTML代码:

<span id="Span1"><a href="#SiteMapPath1_SkipLink"><img alt="跳过导航链接" height="0" width="0" src="/WebSite4/WebResource.axd?d=oJXOuQ5BsxypJ-B9GNDCTradYtag1T_71qTE_CUEBd-CV6pCjuhKKLgKLIiZ1Mm2z4Uo0PnIND-9oo54OuxDLIuNMe7s3Mk4_cZAkuOtESc1&t=634489071179051605" style="border-width:0px;" /></a><a id="SiteMapPath1_SkipLink"></a></span>

 可以看到,在导航控件的末尾定义了一个锚点“<a id="SiteMapPath1_SkipLink"></a>”,而在导航控件的前端定义了一个跳转到该锚点的超链接“<a href="#SiteMapPath1_SkipLink"><img alt="跳过导航链接" height="0" width="0" src="/WebSite4/WebResource.axd?d=oJXOuQ5BsxypJ-B9GNDCTradYtag1T_71qTE_CUEBd-CV6pCjuhKKLgKLIiZ1Mm2z4Uo0PnIND-9oo54OuxDLIuNMe7s3Mk4_cZAkuOtESc1&t=634489071179051605" style="border-width:0px;" /></a>”超链接的里边是只有一个像素的不可见的图像,而他的alt的值既是SkipLinkText属性的值。

显然通过这个超链接可以跳转到控件的后面。但这个图片只有一个像素大而且不可见,所以很难点击到他,那么他有什么用呢?弄清屏幕读取器的概念后就好理解了,其实他是提供给有视觉障碍的不需要显示器的人用的。屏幕读取器可以朗读网页中的内容,显然对于有着相同导航的页面,是不需要每次都朗读导航的内容的。而屏幕读取器,可以读出img的alt的值。这样,使用屏幕读取器的用户就可以选择跳过整个导航控件的内容,继续朗读其后面的内容。所以SkipLinkText属性的值是提供给使用屏幕读取器的用户使用的。

 

 (以下内容摘自:http://office.microsoft.com/zh-cn/outlook-help/RZ006380094.aspx?section=9


屏幕读取器

计算机没有显示器也可以使用。屏幕读取器软件将屏幕信息转换成合成语音以供使用。
标注 1 音箱
标注 2 计算机
标注 3 键盘

有视觉障碍的人不需要显示器。他们通常使用屏幕读取器或盲文显示器替代显示器。尽管大多数屏幕读取器是将屏幕信息转换成合成语音以供使用的软件包,但是也有另外一些包括硬件设备的屏幕读取设备。盲文显示器就是将屏幕信息转换为可刷新的盲文序列,提供给用户。

总的来说,屏幕读取器和盲文显示器只能转换文本信息。但在随后的章节中您将发现,也可以为屏幕读取器能够转换的网页上的图形添加文本说明。

但是,无论屏幕读取器有多好,要让屏幕读取器成功工作,还必须对文档进行适当处理。

 

(以下内容摘自MSDN)


SiteMapPath.SkipLinkText 属性

获取或设置一个值,用于呈现替换文字,以让屏幕读取器跳过控件内容。

命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
public virtual string SkipLinkText { get; set; }
<asp:SiteMapPath SkipLinkText="String" />
属性值
类型: System.String
一个字符串, SiteMapPath 控件使用不可见图像将其呈现为替换文字,作为对屏幕读取器的提示。默认值为“跳过导航链接”。

SkipLinkText 是一个可进行设置的属性,从而让屏幕读取器用户对某个网页有更高或更低的访问性。含有在多页上重复的内容(如显示站点地图数据的控件)的网站可提供一种机制,让屏幕读取器用户可以跳过重复的内容而不读出它们。

SiteMapPath 控件以这样的方式提供 SkipLinkText 属性,即让屏幕读取器可以跳过整个控件。如果设置了 SkipLinkText 属性,将呈现一幅带替换文字的不可见图像,让用户可以选择跳转到内容结尾。屏幕读取器会读出替换文字,但图像不会打扰该页的可视化流。默认情况下,此属性设置为“跳过导航链接”,让屏幕读取器跳过控件。如果要禁用此行为,请将此属性设置为 String.Empty

此属性的值存储在视图状态中。

此属性的值在设置后可使用设计器工具自动存入一个资源文件中。


TreeView.SkipLinkText 属性

获取或设置一个值,它用于为屏幕读取器呈现替换文字以跳过该控件的内容。

命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
语法
public string SkipLinkText { get; set; }ASP.NET
<asp:TreeView SkipLinkText="String" />
属性值
类型: System.  String
一个字符串, TreeView 将其呈现为不可见图像的替换文字,作为对屏幕读取器的提示。
默认为“跳过导航链接”。

备注

通过设置 SkipLinkText 属性,可以使网页更易于访问或更难于访问。
包含重复内容的网页可为屏幕读取器的用户提供一种机制,即跳过该内容不进行读取。

TreeView 控件提供 SkipLinkText 属性作为一种可供屏幕读取器跳过整个控件的方法。

如果设置了 SkipLinkText 属性,则会呈现不可见图像的替换文字,使用户可以跳到该控件的结尾。
屏幕读取器读取替换文字,而图像只占用一个像素的空间。
若要以像素精度控制页面的呈现,请将 SkipLinkText 属性设置为空字符串 (""),并提供自己的机制以跳过该树。

默认情况下, SkipLinkText 属性设置为空字符串,即屏幕读取器不跳过该控件。

此属性的值存储在视图状态中。

此属性的值在设置后可使用设计器工具自动存入一个资源文件中。

有关更多信息,请参见 LocalizableAttribute ASP.NET 全球化和本地化

Menu.SkipLinkText 属性

获取或设置屏幕读取器所读取的隐藏图像的替换文字,以提供跳过链接列表的功能。

命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)

语法

public string SkipLinkText { get; set; }
  ASP.NET
<asp:Menu SkipLinkText="String" />
属性值
类型: System.  String
屏幕读取器所读取的隐藏图像的替换文字,可提供跳过链接列表的功能。
默认值为空字符串 (""),表示尚未设置此属性。

备注

使用 SkipLinkText 属性为屏幕读取器所读取的隐藏图像指定替换文字,以提供跳过链接列表的功能。
指定的文本为辅助技术设备提供了跳过链接隐藏图像的说明,使用这些说明可以使控件更易访问。

此属性的值在设置后可使用设计器工具自动存入一个资源文件中。

有关更多信息,请参见 LocalizableAttribute ASP.NET 全球化和本地化

Menu 控件提供 SkipLinkText 属性作为一种可供屏幕读取器跳过整个控件的方法。

如果设置了 SkipLinkText 属性,则会呈现不可见图像的替换文字,使用户可以跳到该控件的结尾。
屏幕读取器读取替换文字,而图像只占用一个像素的空间。
若要以像素精度控制页面的呈现,请将 SkipLinkText 属性设置为空字符串 (""),并提供自己的机制以跳过该菜单。
SkipLinkText 属性默认被设置为空字符串。
示例

下面的代码示例演示如何使用 SkipLinkText 属性为屏幕读取器所读取的隐藏图像指定替换文字,以提供跳过链接列表的功能。
 
  <%@ Page Language="C#" %>
  <!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>Menu SkipLinkText Example</title>
  </head>
  <body>
      <form id="form1" runat="server">
        <h3>Menu SkipLinkText Example</h3>
        <asp:menu id="NavigationMenu" staticdisplaylevels="2" staticsubmenuindent="10"
          orientation="Vertical" skiplinktext="Skip Menu" runat="server">
          <items>
            <asp:menuitem text="Home" tooltip="Home">
              <asp:menuitem text="Music" tooltip="Music">
                <asp:menuitem text="Classical" tooltip="Classical"/>
                <asp:menuitem text="Rock" tooltip="Rock"/>
                <asp:menuitem text="Jazz" tooltip="Jazz"/>
              </asp:menuitem>
              <asp:menuitem text="Movies" tooltip="Movies">
                <asp:menuitem text="Action" tooltip="Action"/>
                <asp:menuitem text="Drama" tooltip="Drama"/>
                <asp:menuitem text="Musical" tooltip="Musical"/>
              </asp:menuitem>
            </asp:menuitem>
          </items>
        </asp:menu>
      </form>
    </body>
  </html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值