TreeView SkipLinkText 是给不用显示器的人用的,当他们读到相同treeview control时会读出alt中的文字。 如果不用此property就将其设置为string.empty(c#)/""(Asp.net),这样就不会造成页面有空白行了。
----------------------------------------------------------
微软关于导航控件的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)
屏幕读取器
有视觉障碍的人不需要显示器。他们通常使用屏幕读取器或盲文显示器替代显示器。尽管大多数屏幕读取器是将屏幕信息转换成合成语音以供使用的软件包,但是也有另外一些包括硬件设备的屏幕读取设备。盲文显示器就是将屏幕信息转换为可刷新的盲文序列,提供给用户。
总的来说,屏幕读取器和盲文显示器只能转换文本信息。但在随后的章节中您将发现,也可以为屏幕读取器能够转换的网页上的图形添加文本说明。
但是,无论屏幕读取器有多好,要让屏幕读取器成功工作,还必须对文档进行适当处理。
(以下内容摘自MSDN)
SiteMapPath.SkipLinkText 属性
获取或设置一个值,用于呈现替换文字,以让屏幕读取器跳过控件内容。
程序集: System.Web(在 System.Web.dll 中)
<asp:SiteMapPath SkipLinkText="String" />
SkipLinkText 是一个可进行设置的属性,从而让屏幕读取器用户对某个网页有更高或更低的访问性。含有在多页上重复的内容(如显示站点地图数据的控件)的网站可提供一种机制,让屏幕读取器用户可以跳过重复的内容而不读出它们。
SiteMapPath 控件以这样的方式提供 SkipLinkText 属性,即让屏幕读取器可以跳过整个控件。如果设置了 SkipLinkText 属性,将呈现一幅带替换文字的不可见图像,让用户可以选择跳转到内容结尾。屏幕读取器会读出替换文字,但图像不会打扰该页的可视化流。默认情况下,此属性设置为“跳过导航链接”,让屏幕读取器跳过控件。如果要禁用此行为,请将此属性设置为String.Empty。
此属性的值存储在视图状态中。
此属性的值在设置后可使用设计器工具自动存入一个资源文件中。
TreeView.SkipLinkText 属性
程序集: System.Web(在 System.Web.dll 中)
public string SkipLinkText { get; set; }ASP.NET
通过设置 SkipLinkText 属性,可以使网页更易于访问或更难于访问。
TreeView 控件提供 SkipLinkText 属性作为一种可供屏幕读取器跳过整个控件的方法。
默认情况下, SkipLinkText 属性设置为空字符串,即屏幕读取器不跳过该控件。
此属性的值存储在视图状态中。
此属性的值在设置后可使用设计器工具自动存入一个资源文件中。
获取或设置屏幕读取器所读取的隐藏图像的替换文字,以提供跳过链接列表的功能。
命名空间: System.Web.UI.WebControls
程序集: System.Web(在 System.Web.dll 中)
public string SkipLinkText { get; set; }
ASP.NET
<asp:Menu SkipLinkText="String" />
使用 SkipLinkText 属性为屏幕读取器所读取的隐藏图像指定替换文字,以提供跳过链接列表的功能。
此属性的值在设置后可使用设计器工具自动存入一个资源文件中。
Menu 控件提供 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>