标签: accessibility

优雅的退化 - 何时考虑

在为使用AJAX的应用程序设计和构建UI时,您何时考虑优雅降级(对于禁用JavaScript或使用屏幕阅读器的用户)?

  • 最后,一旦AJAX版本的网站完全完成
  • 在每个发展阶段
  • 我不
  • 别的......

language-agnostic ajax user-interface accessibility

8
推荐指数
1
解决办法
375
查看次数

图像alt属性最佳做法

标签上alt属性的预期用途到底是什么<img>

它应该描述图像,还是应该为屏幕阅读器(以及关闭图像的人)提供有意义的替换文本?

例如,如果我在我的网站上有一个人的简短传记,并且包含一张他们的小照片,那么视觉障碍用户是否真的有意义地向他们宣读"约翰史密斯的照片"?

html accessibility

8
推荐指数
1
解决办法
5039
查看次数

Android 对讲在列表视图的结尾处宣布“在 X 项列表中”

在某些设备(nexus)中,当我们点击列表视图中的第一项时,它将以列表项+“X 项列表中”的形式进行对讲。我们如何删除文本“在 X 项列表中”?

请分享您的想法

提前致谢

android accessibility talkback

8
推荐指数
1
解决办法
3468
查看次数

Flutter中检测是否连接了物理键盘

有没有办法检测 Flutter 中是否连接了物理键盘?我想检测用户是否使用物理键盘,并根据是否使用物理键盘来更改用户界面。

keyboard accessibility flutter

8
推荐指数
1
解决办法
1250
查看次数

辅助功能检查器不适用于 MacOS Catalina 和 Mojave 上的 Xcode 11.x、iOS 13.x

我无法在 iOS 13.2 和 Mac OS Mojave 或 Catalina 上运行的更高模拟器上使用辅助功能检查器检查任何元素。有没有其他人也遇到过这个问题,如果有,是否有解决方案?不过,我没有在 iOS 12 模拟器上遇到这个问题。

accessibility ios ios-simulator ios13 xcode11

8
推荐指数
2
解决办法
3377
查看次数

在 TextView 中拆分段落以便更好地回读

我有一个大的TextView,它是大量的 HTML 文本,具体取决于所显示的内容。

尽管所有内容都在一个 中TextView,但我希望视图中包含的段落是单独的 Talkback 项目。它们是带有<p>标签的 HTML 格式

现在,它会立即读取所有内容

Lorem ipsum dolor sat amet,consectetur adipiscing elit。Etiam consequat,magna a ornare pharetra,diam arcu rhoncus elit,at consectetur arcu lectus nec nulla。

Ut hendrerit id ante ac lobortis。Morbi ante quam,malesuada eget lobortis vel,porttitor ac felis。Quisque diam purus,dignissim id eros ac,semper mollis elit。

Vivamus iaculis mollis suscipit。Vivamus vel posuere ipsum, et Accumsan lectus。Donectinciduntjustoorci,egetmolestiesemtemporsed。Duis quis lorem neque。

但我希望将其分解而不将文本分解为TextView列表。

Lorem ipsum dolor sat amet,consectetur adipiscing elit。Etiam consequat,magna a …

android accessibility textview talkback

8
推荐指数
1
解决办法
483
查看次数

如何在 SwiftUI 中动态调整图像大小以实现可访问性?

我有一个图像,我正在对尺寸进行硬编码,但意识到它不能针对较大尺寸的类别进行缩放。如何设置首选尺寸并让它自动缩放为不同尺寸?

这就是我的代码的样子:

HStack(alignment: .top, spacing: 4) {
    Text("Some text")
    Button(action: { showAlert = true }) {
        Image(systemName: "questionmark.circle.fill")
            .resizable()
            .frame(width: 12, height: 12)
            .foregroundColor(.secondary)
    }
}
Run Code Online (Sandbox Code Playgroud)

我还有其他不使用 SF 符号的情况:

Button(action: action) {
    Label(
        title: {
            Text(title)
                .foregroundColor(Color(.label))
        },
        icon: {
            Image("twitter")
                .resizable()
                .frame(width: 24, height: 24)
        }
    )
}
Run Code Online (Sandbox Code Playgroud)

这是不同尺寸预览时的样子,但在较大尺寸下图像很小。我该如何处理这个问题以实现可访问性?

在此输入图像描述

accessibility swiftui

8
推荐指数
1
解决办法
3611
查看次数

使用代码访问辅助功能树

TLDR:如何以编程方式访问给定网页的可访问性树?是否有任何内部 API 可以通过 JavaScript 调用来查看辅助功能树?

我正在构建一个测试套件来检查网页内可访问性的正确性。目前,我们通过比较 DOM 并检查某些属性是否存在且正确来做到这一点。我想不再使用 DOM,因为它会带来大量需要遍历的额外数据,而只检查 a11y 树的正确性。这棵树可以在大多数现代网络浏览器的开发工具/检查器中找到,但我不知道如何用代码检查它。通过我的研究,我发现有一个新的 AOM(可访问性对象模型)正在被建议,但尚未实现。我还发现“puppeteer”包能够访问它。有什么办法可以直接访问吗?

javascript api accessibility google-chrome-devtools

8
推荐指数
1
解决办法
1626
查看次数

面向盲人开发者的 Android Studio

我是一名盲人 Java 开发人员。我正在接受全栈 JavaScript 培训,在 React for web 之后我们正在学习 React Native。

我想使用 Android Studio 模拟器测试代码,而不是安装在设备上。目前我无法测试我的代码,学习起来非常令人不安。

有没有解决方案可以让我在 Android Studio 模拟器窗口中使用屏幕阅读器(Windows 上的 NVDA 和 Linux 上的 orca)?因为实际上我的屏幕阅读器将模拟器窗口识别为图片,所以它无法聚焦小部件。

我想使用模拟器并使用 Android Studio 中集成的 Android 屏幕阅读器对话来测试我的代码。

我已按照此页面上的说明进行操作: https: //developer.android.com/studio/intro/accessibility

我使用 Expo 在终端上启动我的项目。我启动 Android studio 并启动 Android 模拟器。

我使用的是 NVDA,它是 32 位软件。所以我设置了 Java 8 32 位,因为它是我找到的唯一 32 位版本。我在 JRE 8 目录中使用命令行启用了 Java 访问桥,但我还安装了 Open JDK 11 64 位,这可能是一个问题。

主要问题是我无法关注 Android 模拟器窗口。

windows accessibility nvda android-studio

8
推荐指数
1
解决办法
681
查看次数

如何跳过对一个栏按钮项目的辅助功能焦点并保持对工具栏其他栏按钮项目的关注

我有一个工具栏,我想在打开辅助功能时跳过标题按钮。

我可以使用accessibilityElementsHidden跳过整个工具栏的辅助功能

但我只想跳过标题栏按钮的辅助功能焦点。

我尝试单独禁用标题按钮的可访问性。

但这不起作用。

所以我设置了AccessibilityElements属性,它跳过标题栏并读出右侧的“完成”按钮。但根本没有个人关注“完成”按钮。当我使用AccessibilityElements时,各个栏按钮项目缺少焦点。

更新:

我在这里添加了一个观察者

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
Run Code Online (Sandbox Code Playgroud)

这是观察者

 [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(beginEditingHandler:) name:UITextFieldTextDidBeginEditingNotification object:nil];
Run Code Online (Sandbox Code Playgroud)

这是我管理辅助功能项目的方式

  - (void)beginEditingHandler:(NSNotification *)notification {
    UIResponder *responder = notification.object;
    IQToolbar *inputAccessoryView = responder.inputAccessoryView;
    if (inputAccessoryView) {
        if ([inputAccessoryView isKindOfClass:[IQToolbar class]]){
            NSMutableArray *arrAccessibilityItems = [[NSMutableArray alloc]init];
            if(inputAccessoryView.previousBarButton){
                if(!inputAccessoryView.previousBarButton)
                [arrAccessibilityItems addObject:inputAccessoryView.previousBarButton];
            }
            if(inputAccessoryView.nextBarButton){
                if(!inputAccessoryView.nextBarButton.isHidden)
                [arrAccessibilityItems addObject:inputAccessoryView.nextBarButton];
            }
            if(inputAccessoryView.titleBarButton){
                IQTitleBarButtonItem *titleBtn= inputAccessoryView.titleBarButton;
                if(titleBtn.title.length>0){
                    [arrAccessibilityItems addObject:inputAccessoryView.titleBarButton];
                }
            }
            if(inputAccessoryView.doneBarButton){
                [arrAccessibilityItems addObject:inputAccessoryView.nextBarButton];
            } …
Run Code Online (Sandbox Code Playgroud)

accessibility uitoolbar uibarbuttonitem ios uiaccessibility

8
推荐指数
1
解决办法
265
查看次数