#screen-reader #java #access #bridge #jab #i-accessible2

a11y

无障碍(ACCESSIBILITY,A11Y,辅助功能)

10 个版本

0.2.0 2024年8月4日
0.1.9 2024年7月27日
0.1.4 2024年4月15日

8无障碍

Download history 10/week @ 2024-05-20 4/week @ 2024-06-03 2/week @ 2024-06-10 41/week @ 2024-07-01 125/week @ 2024-07-08 4/week @ 2024-07-15 313/week @ 2024-07-22 247/week @ 2024-07-29 42/week @ 2024-08-05 15/week @ 2024-08-12

每月 617 次下载

Apache-2.0

2MB
14K SLoC

包含 (Windows DLL, 375KB) lib/IAccessible2Proxy.dll, (Windows DLL, 170KB) lib/WindowsAccessBridge-32.dll, (Windows DLL, 75KB) lib/windowsaccessbridge-64.dll

无障碍(ACCESSIBILITY,A11Y,辅助功能)

简介

这个库主要提供了一些来自非微软官方提供的辅助功能技术的封装,我们的目标是尽可能做到封装的全面并可以开箱急用。 支持的是IA2(IAccessible2) 和JAB(Java Access Bridge)。 其中IA2自2013年以来已经没有新的变化或改进,使用UIA技术作为替代方案是最佳选择。 JAB技术基于Open JDK的WindowsAccessBridge.dll动态库实现,Open JDK有很多的发行版本,具体接口可能有所差异,如果当前JAB的实现无法满足需求,请提交相关Issue给我们。 IA2技术在一些古老的应用程序上表现的较好,例如IE浏览器,而JAB是针对由Java编写的应用程序提供辅助功能支持的接口,例如可以支持一些编程工具(Android Studio,IntelliJ IDEA...)、抓包工具Charles等UI界面的信息获取。 很多应用程序使用的GUI框架和库没有实现AT(辅助技术,辅助技术 ),因此无论是哪一种辅助功能API都是无效的,例如python使用的TCL/TK图形化界面。 在这种情况下,我们将尝试探索更多的可能,例如针对某些GUI框架进行单独适配,或者实现一个更通用的AT接口和标准,持续拓展和改进UI界面可访问的能力,这也是本库的主要功能。

JAB API

Java Access Bridge API 使您能够为使用 Java 应用程序的 Microsoft Windows 操作系统开发辅助技术应用程序。它包含本机方法,使您能够查看和操作有关 Java 应用程序中 GUI 元素的信息,这些信息通过 Java Access Bridge 转发到您的辅助技术应用程序。 原始接口参考

IA2 API

IAccessible2是用于Microsoft Windows应用程序的可访问性API。IAccessible2最初由IBM以Missouri项目的代号开发,IAccessible 2现在由自由标准组织(现在是Linux基金会的一部分)负责。它被定位为Microsoft新的UI自动化API的替代品。 原始接口参考

Scintilla API

Scintilla并不是一个辅助技术,他是一个用于Win32、GTK和macOS的免费源代码编辑器组件。 Scintilla的开发最初是为了改进PythonWin中的文本编辑器。在对PythonWin使用的Richedit控件中的问题感到沮丧之后,看起来最好的方法是编写一个新的编辑控件。Richedit和其他类似控件的最大问题是,它们将样式更改视为对文档的重要持久更改,因此这些更改将保存到撤消堆栈中并设置文档的脏标志。对于源代码,样式不应该被持久化,因为它可以被机械地重新创建。 Scintilla已经被运用到很多产品中,被大家熟知的就是Notepad++,轻量级:启动速度快,内存占用少,支持许多编程语言的语法高亮显示和代码提示。 本库仅实现对Scintilla控件的外部访问支持(文本、图像信息的获取,控件自动化),不提供创建和销毁的功能。 原始接口文档

依赖

~0–37MB
~558K SLoC