标签: accessibility

色盲模拟器

像任何负责任的开发人员一样,我想确保我生产的网站可供最广泛的受众访问,其中包括具有某种形式色盲的大部分人口.

有许多网站提供过滤您提供的网址,通过渲染图片或过滤所有内容.但是,在渲染即使是中等复杂的布局时,这两种方法似乎也都失败了,所以我有兴趣找到一种客户端方法.

理想的解决方案是整个屏幕上的系统过滤器,可用于测试任何程序.接下来最好的事情是浏览器插件.

accessibility colors color-blindness

21
推荐指数
3
解决办法
7793
查看次数

Javascript和辅助功能

作为一名网络开发人员,我工作的一些项目属于政府保护伞,因此需要遵守508无障碍法律,有时还要遵守W3C无障碍指南.在满足这些要求的同时,JavaScript可以在多大程度上使用?

沿着这些方向,JavaScript在多大程度上,特别是AJAX和使用像jQuery这样的包来做现代可访问性软件(如JAWS,Orca等)支持的显示模式对话,弹出窗口等等?在过去,规则类似于"如果它在Lynx中不起作用,它将不适用于屏幕阅读器." 这仍然是正确的,还是在这些领域取得了更多进展?

编辑:似乎只要有非javascript回退,javascript就好了,但是在屏幕阅读器软件中对AJAX的支持似乎仍然不确定.如果有人对此有特定的经验,那将是最有帮助的.

javascript ajax jquery accessibility screen-readers

21
推荐指数
1
解决办法
2084
查看次数

有没有办法写出屏幕阅读器会忽略的内容?

我刚刚开始研究需要有视力和视力障碍的用户访问的页面.内容的某些元素,仅​​仅与仅与视觉元素相关的性质,根本不适用于使用屏幕阅读器的人.例如,一个链接在一个新窗口中打开一个视听演示文稿,但是由于我无法控制的情况,窗口调整得很笨拙,因此有一条消息说你应该调整窗口大小以便更好地查看所有内容.显然,对于无论如何都看不到它的人来说,这是无用的信息.

有没有一种可以让屏幕阅读器忽略某些内容的方法?

html css accessibility

21
推荐指数
3
解决办法
9637
查看次数

Microsoft UI自动化的教程/参考

我最近使用Microsoft Accessibility API实现了一个程序,但后来被告知新的UI Automation已经取代了它.看起来下次学习这项工作的新工具是一项很好的投资.

那么,编程UI自动化的最佳参考是什么,希望是实际的教程呢?具体来说,我正在寻找编程"客户端"应用程序,即那些访问其他程序UI的应用程序,而不仅仅是提供对我自己的UI的访问.

accessibility ui-automation

21
推荐指数
1
解决办法
2万
查看次数

Android - 将TalkBack可访问性焦点设置为特定视图

启用TalkBack时,有没有办法将辅助功能焦点手动设置为特定视图?例如,当我的Activity启动时,我希望TalkBack自动关注某个Button(视图周围的黄色框)并阅读其内容描述.

到目前为止我尝试过的:

    myButton.setFocusable(true);
    myButton.setFocusableInTouchMode(true);
    myButton.requestFocus();
Run Code Online (Sandbox Code Playgroud)

requestFocus()似乎只是请求输入焦点而与可访问性焦点无关.我也尝试过:

    myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
    myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
    myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
    myButton.announceForAccessibility("accessibility test");
    myButton.performAccessibilityAction(64, null); // Equivalent to ACTION_ACCESSIBILITY_FOCUS

    AccessibilityManager manager = (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);
    if (manager.isEnabled()) {
        AccessibilityEvent e = AccessibilityEvent.obtain();
        e.setSource(myButton);
        e.setEventType(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
        e.setClassName(getClass().getName());
        e.setPackageName(getPackageName());
        e.getText().add("another accessibility test");
        manager.sendAccessibilityEvent(e);
    }
Run Code Online (Sandbox Code Playgroud)

这似乎都不起作用.

android accessibility talkback

21
推荐指数
3
解决办法
3万
查看次数

什么时候可以使用Javascript,什么时候不可以?

不使用很多javascript/jquery是不错的做法?我们应该尽可能地避免它(为了获得良好的可访问性)吗?

什么时候可以使用JavaScript,何时不在网页设计和开发中?在什么情况下和在什么条件下?

更新:

我问有关公共网站的问题.

javascript css xhtml accessibility screen-readers

20
推荐指数
3
解决办法
2094
查看次数

阻止VoiceOver显示更大透明视图下方的视图

简介:我想复制UIAlertView的可访问性行为,其中背景视图仍然可见,但VoiceOver不与其交互.

细节:我已经为iPhone应用程序实现了辅助功能,但仍然存在一个问题.在某些情况下,我会在所有其他视图上显示一个大视图(部分透明,覆盖大部分原始视图),其中包含标签和关闭按钮.即基本上是自定义弹出/警报视图.问题是,VoiceOver继续显示它下面的视图/控件.

防止VoiceOver隐藏视图的一种方法是将整个自定义视图背景设置为可访问.但是,这并不是我们想要的,因为这个包含视图的用户不应真正与之交互,只有它的子视图(标签/按钮)应该.

iphone accessibility uiview ios voiceover

20
推荐指数
3
解决办法
4358
查看次数

CSS不透明度如何影响可访问性?

在浏览了一些谷歌和其他SO文章之后,我决定明白地问我的问题,希望得到一个简单直接的答案.

在讨论中添加另一个步骤不透明度:0与可见性具有完全相同的效果:隐藏:我理解display:nonevisibility:hidden隐藏屏幕阅读器之类的元素,但是怎么样opacity:0

链接问题的答案之一中的表格指出不透明度参与taborder,那么这是否意味着它将被映射到可访问性API

设置一个巨大的负片text-indent通常作为下拉菜单的替代display: nonevisibility: hidden提供,但我想在没有JavaScript的情况下淡入淡出我的菜单,同时确保我不会将它们隐藏在屏幕阅读器中.

css accessibility opacity wai-aria

20
推荐指数
2
解决办法
4669
查看次数

使WPF应用程序可访问屏幕阅读器

我有一个WPF应用程序,部分要求是可访问的,包括键盘导航和屏幕阅读器.

通过在Treeview的ItemContainerStyle中设置AutomationProperties.Name,我在应用程序中使用Treeview取得了一些成功,但是我遇到了包含文本区域和一些按钮的Window的问题.

ZoomText将正确读出窗口的标题,但是这样做了两次,以及按钮中的文本,但是我无法读取它以读取TextBlock的内容.

Text块在如下窗口中定义.在调试时,Visual Studio输出中没有显示绑定错误,NVDA屏幕阅读器可以正确读取内容,尽管这对我来说不够好,因为客户使用ZoomText.

<Window x:Class="UserControls.ModalDialog"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         mc:Ignorable="d" 
         d:DesignHeight="160" d:DesignWidth="400" MinHeight="85" MinWidth="400" MaxWidth="400" SizeToContent="Height" Height="Auto"
        WindowStartupLocation="CenterScreen" ResizeMode="NoResize" Title="{Binding TitleText }">
<DockPanel Width="Auto" Margin="20,20,0,10">
    <StackPanel Orientation="Vertical">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=DialogText, Mode=TwoWay}" Cursor="Arrow" Focusable="True" TextWrapping="WrapWithOverflow"  
                       Height="Auto" Width="325" TextOptions.TextFormattingMode="Display"
                       ToolTip="{Binding Path=Text, RelativeSource={RelativeSource Self}}"
                       AutomationProperties.Name="{Binding Path=Text, RelativeSource={RelativeSource Self}}"
                       AutomationProperties.AutomationId="{Binding Path=Text, RelativeSource={RelativeSource Self}}">
            </TextBlock>
        </StackPanel>

        <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,10,5,0">
            <Button Content="{Binding Path=Option1ButtonText, Mode=TwoWay}" Padding="5,0,5,0" Margin="0,20,5,0" MinWidth="100" IsDefault="True" Command="{Binding Path=Option1ButtonCommand, Mode=TwoWay}" />
            <Button Content="{Binding Path=Option2ButtonText, Mode=TwoWay}" Padding="5,0,5,0"  Margin="2,20,10,0" MinWidth="75" Command="{Binding Path=Option2ButtonCommand, …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml accessibility screen-readers

20
推荐指数
1
解决办法
2507
查看次数

VoiceOver焦点将UICollectionView重置为第一个条目?

我正在使用VoiceOver,并且遇到了问题UICollectionView.我有一个带有十个按钮的初始屏幕,每个按钮链接到集合视图中的十个单元格之一.集合视图实际上是屏幕的完整大小,每个单元格都包含一个子视图控制器.这一切都可以在VoiceOver关闭时正常工作,但是当它打开时,激活集合中间的一个按钮总是会导致集合视图弹出到其第一个单元格,即使我没有点击第一个按钮.我认为这是因为VoiceOver"焦点"转到它看到的第一个元素(即第一个单元格).

我已尝试使用UIAccessibilityScreenChangedNotification和使用相同单元格的参数的布局相同,但它没有任何区别,它没有弹出我的必需元素,并且总是弹出到集合中的第一个单元格.

我在这里做错了什么?

我正在添加一个片段,这个被调用viewDidLayoutSubviews,如果VoiceOver关闭,它可以正常滚动.但是一旦VO开启,它就会中断.

if (self.initialIndexPath) {
    [self.collectionView scrollToItemAtIndexPath:self.initialIndexPath atScrollPosition:UICollectionViewScrollPositionNone animated:NO];
    UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, [self.collectionView cellForItemAtIndexPath:self.initialIndexPath]);
}
Run Code Online (Sandbox Code Playgroud)

这对于实际聚焦于单元格非常合适,但VoiceOver部分完全被忽略,通知根本不会将焦点转移到正确的单元格,它始终是第一个单元格中的第一个元素.

还要注意,单元格本身不是accessibilityElements,不应该是,它们实现UIAccessibilityContainer协议,因此每个单元格的标题标签将是我希望焦点最终的位置.

accessibility objective-c ios voiceover uicollectionview

20
推荐指数
1
解决办法
1785
查看次数