我写了一个使用jQuery来显示模态弹出窗口的网站.它基本上覆盖了屏幕的整个可视区域和覆盖图,然后显示了一个DIV,其中包含覆盖层顶部的实际弹出窗口.该项目的要求之一与可访问性有关.
页面加载时,屏幕阅读器开始从页面顶部读取.当用户点击特定链接时,我们会显示模式对话框.我的问题是:如何中断屏幕阅读器对网站主要部分的阅读并告诉它开始阅读对话文本?
我的模态容器包含在这样的div中:
<div id="modalcontainer" tabindex="0" class="popup" role="dialog" aria-labelledby="dialog-label" >
Run Code Online (Sandbox Code Playgroud)
触发模态的jQuery看起来像这样:
$("#modalLink").click(function (e) {
e.preventDefault();
$("#modalcontainer").center();
$("#modalcontainer").show();
$("#closeBtnLink").focus();
$("#wrapper").attr('aria-disabled', 'true');
});
Run Code Online (Sandbox Code Playgroud)
"closeBtnLink"是模态对话框中的关闭按钮.我本以为把重点放在这上会指示屏幕阅读器开始从那个元素中读取.
"wrapper"元素是模态对话框的SIBLING.根据另一个SO用户的建议,出于不同的原因,我在包含整个页面的包装元素上设置了"aria-disabled = true".模态对话框作为此容器外部的兄弟存在.
我的主要目标是让屏幕阅读器在点击特定链接时阅读我的模态DIV元素的内容.任何帮助,将不胜感激.
我正在尝试使用TK支持安装Ruby.
使用RVM,我这样做:
rvm install 1.9.2 -C --enable-shared --enable-pthread
Run Code Online (Sandbox Code Playgroud)
安装似乎工作正常,我可以看到一些叫做的东西
.rvm/src/ruby-1.9.2-p320/ext/tk/tcltklib.c
Run Code Online (Sandbox Code Playgroud)
我假设是我需要的图书馆?
然后我试着跑
require 'tk'
Run Code Online (Sandbox Code Playgroud)
在irb中,但收到错误消息
LoadError: no such file to load -- tk
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如果有人对在OSX上使用TK支持将Ruby升级到2.0.0的完整步骤列表感兴趣,这就是我所做的:
为Ruby安装RVM -
\curl -#L https://get.rvm.io | bash -s stable --autolibs=3 --ruby
Run Code Online (Sandbox Code Playgroud)
从ActiveTcl安装TK - http://www.activestate.com/activetcl
跑
rvm reinstall 2.0.0 --enable-shared --enable-pthread --with-tk --with-tcl
Run Code Online (Sandbox Code Playgroud)
启动irb并检查TK安装是否成功
require 'tk'
Run Code Online (Sandbox Code Playgroud)