在我的网页中,我需要创建一个表,该表具有根据某些用户配置可见或隐藏的标题行.此表也需要完全可访问(具体来说,因为表可能很长,我希望读取行/列标题的快捷方式可以工作).我只有ChromeVox进行测试(我将详细介绍与我发现的博客文章中其他读者的行为).
我目前的布局与此类似:
CSS:
.table-header-show {
}
.table-header-hide {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<table>
<!-- ${show} is used to choose the right class the user configuration -->
<thead class="table-header-${show}">
<tr>
<th>Name</th>
<th>Value 1</th>
<th>Value 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>John Doe</td>
<td>Value 1a</td>
<td>Value 2a</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
当标题可见时,根本没有问题.标题隐藏后,取决于屏幕阅读器是否读取这些标签:
style
属性而不是a class
,会导致所需的行为都起作用display: none
有时会忽略内容,有时他们不会 - 所以我不确定我可以依靠这种隐藏来保证我的目的是可靠的(隐藏导航,用于标签)那么,我如何以跨浏览器阅读器的方式实现我想要的行为呢?
我想知道NCurses中是否存在鼠标移动事件这样的事情,以及是否有办法捕获它们.在与鼠标接口之后(来自NCurses编程HOWTO),似乎通过启用REPORT_MOUSE_POSITION
调用中的位mousemask
,可以确实捕获鼠标移动事件.
所以,我试过了,它似乎没有用.我有这样的事情:
int ch, count=0;
mmask_t old;
initscr ();
noecho ();
cbreak ();
mousemask (ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION, &old);
keypad (stdscr, TRUE);
while ((ch = getchar ()) != 'q')
{
count++;
if (ch == KEY_MOUSE)
{
MEVENT event;
assert (getmouse (&event) == OK);
mvprintw (0, 0, "Mouse Event!\n");
}
mvprintw (1, 1, "Event number %4d",count);
}
...
Run Code Online (Sandbox Code Playgroud)
我预计,当我移动鼠标光标时,我会看到事件计数器增加.但事实并非如此.我也尝试在鼠标按钮1关闭时移动它以查看是否生成"拖动"事件,它也没有做任何事情.问题是,如果它只是我的终端模拟器的问题?或者我可能误解了NCurses认为的鼠标移动事件?收到了所有其他鼠标事件(我可以在控制台中使用鼠标操作程序).
我尝试过gnome-terminal,xterm和其他一些东西.我还尝试了一个文本环境(没有X),转到我的linux机器的tty(Fedora 15,Ctrl + Alt + F2),但是没有用.
最后,假设我确实做到了这一点并且应该报告那些事件,那么鼠标运动evenet 的bstate
领域是什么MEVENT
?
提前谢谢了!
我将 JanusGraph 与标准 python gremlin 绑定一起使用,我想float[]
在顶点/边上设置一个属性。但是,Python的Tinkerpop 驱动程序似乎无法做到这一点。
例如,下面是一个直接在 Groovy 中运行的脚本示例:
val = [1.2, 3.4, 5.6]
_client.submit("g.V(4200).property('a', %s as float[])" % val).all().result()
Run Code Online (Sandbox Code Playgroud)
这是使用 gremlin python 库时失败的代码:
val = [1.2, 3.4, 5.6]
g.V(4200).property('a', val).next()
Run Code Online (Sandbox Code Playgroud)
错误在哪里:
GremlinServerError: 500: Property value [[1.2, 3.4, 5.6]] is of type class java.util.ArrayList is not supported
Run Code Online (Sandbox Code Playgroud)
该错误可能是因为请求是由 python 驱动程序在 GraphSON 中序列化的 - 并且 GraphSON 支持具有不同类型元素的数组,因此场景背后的 Java 代码将值读取为 a java.util.ArrayList
,而实际上无法转换为float[]
.
问题是 - 除了编写显式查询字符串之外,是否有任何理智的方法可以做到这一点?
我有一个枚举类来表示值的类型.该类的代码非常简单:
object Type extends Enumeration {
type Type = Value
val tInt, tBoolean, tString, tColor, tFont, tHAlign, tVAlign, tTextStyle, tUnknown = Value;
def fromValue (value:Any) : Type.Type = {
value match {
case a:Int => tInt
case a:Boolean => tBoolean
case a:Color => tColor
case a:Font => tFont
case a:HAlign.HAlign => tHAlign
case a:VAlign.VAlign => tVAlign
case a:TextStyle.TextStyle => tTextStyle
case _ => tUnknown
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在哪里列举了一些东西:
object VAlign extends Enumeration {
type VAlign = Value
val top, middle, …
Run Code Online (Sandbox Code Playgroud) 我想检查某个javax.swing.JButton
(常规按钮)是否被按下(在它被释放之前).是否有任何选项可以检查按钮是否已关闭?
最简单的解决方案是添加一个MouseListener
响应鼠标单击和释放事件的解决方案.但是,这并不包括通过Enter键或任何其他方式激活按钮的情况.我不想通过键盘或其他方式禁用激活鼠标 - 我只想知道何时按下它而不限制它的行为.
我尝试了所有不同的事件,只有两个响应按下按钮的是ActionPreformed(ActionEvent
)和StateChanged(ChangedEvent
)事件.ActionPreformed每次点击执行一次,这意味着只有在按下并释放按钮后才会执行,所以这并不好.当我点击一个按钮时,StateChanged确实被调用了几次,而当我发布它时,它被调试了好几次.但是,事件对象仅包含有关源窗口小部件(按钮)的信息,并且不包含有关状态更改本身的信息.这可以防止我们想要捕获哪些事件.
提前致谢!
c ×1
css ×1
enumeration ×1
gremlin ×1
html ×1
html-table ×1
janusgraph ×1
java ×1
jbutton ×1
linux ×1
mouseevent ×1
ncurses ×1
pressed ×1
python ×1
scala ×1
state ×1
swing ×1
terminal ×1
tinkerpop ×1
tinkerpop3 ×1
wai-aria ×1