我真的不知道我是否在正确的地方提问,所以如果我的问题必须转移,我会为此道歉.我在这个地方完全是菜鸟.
我知道JS应该只用于增强功能,禁用JS的用户仍然可以使用您的网站.但现在这种情况经常发生多少次?大多数现代"Web 2.0"页面需要JS来增加功能.
换句话说,假设大多数用户都启用了JS,有多安全?
有没有人有这方面的具体数据?
AutomationProperties.Name和之间的"CodedUI测试构建器"没有区别x:Name.但第一个可以覆盖第二个.此外,AtomationProperties.Name支持数据绑定,x:Name当然不支持.
我们知道如果您使用MVVM模式,最好只x:Name在需要时使用.
所以应该AutomationProperties.Name优先考虑x:Name?
这个特定的移动Safari(看似不可能但没有记录)的问题让我今天长时间停留,当我想出来时,我正准备在这里发布一个关于它的问题.
问题:虽然我设置了<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no;"/>我的iPad网络应用程序仍然允许手动缩放(在浏览器中捏). - 但只能在我的iPad上,而不是在我的iPhone上.
此外,我会在纵向模式之间旋转设备以检查特定的方向模式CSS代码,这会产生奇怪的结果:
我有一个想要学习网络编程的朋友.他是身体残障的人.实际上他使用带轨迹球的电脑,他可以一只手按键,只能用一只手按键.所以,我认为他最大的问题是尝试编写需要使用两只手的特殊字符(例如>,!,#等).首先我想在Visual Studio中(Intelissense可以提供很大的帮助),但有没有人知道可以使编程更简单的工具?
我知道这是一个奇怪的问题,但我真的很感激,如果有人能帮我一把:)
提前致谢
如何以编程方式检测Android上是否启用了"大文本"辅助功能选项?
我正在使用这个
<a href="#" title="select from 1: this 2: that" > Click here </a>
当有人将鼠标悬停在它上面时,我会在一行中看到所有文字.
有没有办法在新线上显示它?
我有一个状态菜单应用程序,可以使用系统范围的快捷方式启动.当应用程序处于活动状态时,如果我能够以某种方式获取当前正在运行的应用程序中选择的文本,那将会很棒.
例如,我在文本编辑器中输入内容,选择文本,点击我的全局快捷方式,我的应用程序出现,我现在想知道文本编辑器中的选定文本.
到目前为止我所拥有的是(如何通过Accessibility API获取当前所选文本的全局屏幕坐标的代码.)
AXUIElementRef systemWideElement = AXUIElementCreateSystemWide();
AXUIElementRef focussedElement = NULL;
AXError error = AXUIElementCopyAttributeValue(systemWideElement, kAXFocusedUIElementAttribute, (CFTypeRef *)&focussedElement);
if (error != kAXErrorSuccess) {
NSLog(@"Could not get focussed element");
} else {
AXValueRef selectedTextValue = NULL;
AXError getSelectedTextError = AXUIElementCopyAttributeValue(focussedElement, kAXSelectedTextAttribute, (CFTypeRef *)&selectedTextValue);
if (getSelectedTextError == kAXErrorSuccess) {
selectedText = (__bridge NSString *)(selectedTextValue);
NSLog(@"%@", selectedText);
} else {
NSLog(@"Could not get selected text");
}
}
if (focussedElement != NULL) CFRelease(focussedElement);
CFRelease(systemWideElement);
Run Code Online (Sandbox Code Playgroud)
这里的问题是它不能与Safari和Mail等应用程序一起使用...
谢谢
我是使用C#,Java,PHP,JavaScript和其他一些语言和库的法律上聋哑的开发人员。我认为自己是一个非常高级的爱好开发人员,并且很快就会开始学习计算机科学。
我知道我们将专注于Java作为编程语言,因此我决定选择一些旧项目。控制台应用程序对我而言不再具有真正的吸引力-我在那里做了很多事情。因此,我通常最终会创建GUI。使用PHP和HTML十分简单,在C#中也不太困难。当然,我需要视觉方面的帮助;但是我可以在WindowsForms和WPF框架中使用C#来建立可靠的GUI并在Windows上运行。可访问性在这里很少成为问题。
具有讽刺意味的是,Java既是我在GUI创建中的首次尝试,也是我从未使它无法正常工作的唯一语言。
让我们保持简单:我要做的就是创建一个基本的消息对话框,其中命名Test为文本Hello world。让我们来看看它。
import javax.swing.JOptionPane;
public class GUITest {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Hello world!", "Test", JOptionPane.INFORMATION_MESSAGE);
}
}
Run Code Online (Sandbox Code Playgroud)
这不是火箭科学。JavaScript的alert功能和MessageBoxC#的功能相似。通常,当这样的消息对话框弹出时,我的盲文显示集中在“确定”或“关闭”按钮上,屏幕阅读器会宣布对话框标题和消息,并且我还可以通过盲文显示键和/滚动来感知对话框的静态文本。或触摸光标(JAWS)和/或屏幕阅读器的各个特殊光标(例如JAWS光标或NVDA光标),它们是鼠标指针,可以在整个屏幕上移动,因此显然最终会落在静态文本上。
但是在Java中会发生什么呢?
我使用Java SDK 11,最新的Eclipse版本和Windows 10。NVDA版本18.3和最新的JAWS 19版本。我的软件是最新的,至少在JAWS中,我是一个专家用户,他了解大多数(如果不是全部)获取静态文本的方法。这些方法均无效。
有谁碰巧知道Java可访问性如何工作?我知道存在可访问的Java应用程序。我只是不知道如何创建它们。我的对话框问题只是最基本的问题-无法访问带有JFrame,按钮,文本字段等的更复杂的GUI。而且,尽管Oracle基本上会说,只要您不理会我们的组件,并给出可访问的名称和描述,便可以立即使用它们。
任何可能解释我所缺少的内容的输入将不胜感激。
我在计算机上安装了NetBeans。不,确切地说,我在计算机上安装了NetBeans安装程序。安装程序无法访问。这本身并不罕见-令人惊讶的是,许多开发人员花了很多心思来创建可访问的应用程序,然后创建了无法访问的安装程序。因此,我会尽可能地坚持使用ZIP和手动配置(您知道,在2000年代,并不是所有情况都比以前更糟了,实际上,我很高兴看到那里的纯粹主义者和/或控制狂们鄙视安装程序)。
但是真正有趣的是:NetBeans安装程序看起来就像我用javax.swing创建的对话框和其他GUI一样。也就是说:NVDA和讲述人为空白(对话框/窗口名称除外),并且使用JAWS,如果我使用触摸光标,则还可以检测上下文菜单和关闭按钮。哇,我有一个完整的按钮可以与之互动!-只是它甚至没有回应我使用Enter或空格键单击它(没有尝试单击鼠标,因为我无法使用JAWS光标(也就是鼠标)找到此关闭按钮)。
我会继续研究。但是,如果此安装程序是用javax.swing编写的,而NetBeans也是用javax.swing编写的,那么它对于javax.swing的整体可访问性(对盲人而言)看起来并不好。另外,我将尝试与Oracle联系。毕竟,一定有充分的理由将他们在有关javax.swing的文档中放入“默认情况下可访问性”,并建议使用NVDA进行测试。当然,我只是想念他们实现的明显可访问性-毕竟,我只使用了十二年的屏幕阅读器。
PS。很抱歉,这很讽刺,但这种情况同样使我感到震惊和沮丧。毕竟,一家公司表示默认情况下可以访问其GUI类,而我作为聋哑用户和开发人员的经验告诉我,它们不是。
正如注释中所建议的(感谢VGR),SWT确实是可访问的,至少是基类。考虑到它尽可能使用本机窗口小部件,这不足为奇。