You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NVDA测试Attachmate Extra Xtreme 9.4大型机可访问性时Tab键无朗读求助

NVDA + Attachmate Extra Xtreme 9.4 可访问性问题解决建议及脚本参考

一、Tab键无朗读问题的解决步骤

  • 检查Attachmate可访问性开关:打开Extra Xtreme的选项面板,找到辅助功能分类,确保“支持屏幕阅读器”或同类选项已启用。部分终端软件默认关闭该设置,需手动开启后重启软件。
  • 确认NVDA终端插件状态:打开NVDA菜单 → 工具 → 插件管理器,验证Terminal Support插件已启用。该插件是NVDA识别终端类应用的核心,未启用则无法正常读取终端字段。
  • 切换NVDA焦点跟踪模式:按下Insert+F9切换到焦点模式(或Insert+F10切换到浏览模式),部分终端软件仅在特定模式下能响应Tab键的焦点朗读。同时可按下Insert+F7打开元素列表,确认NVDA是否能识别终端内的字段元素。
  • 调整NVDA兼容性设置:打开NVDA菜单 → 偏好设置 → 兼容性,勾选“启用对旧版Windows控件的支持”或“强制使用UI自动化”选项,重启NVDA后测试。旧版本终端软件常依赖这类兼容性设置才能被NVDA正确识别。
  • 验证NVDA权限:确保NVDA拥有系统级键盘钩子权限,在Windows设置的应用权限中,确认NVDA的“访问权限”已完全开启,避免系统拦截Tab键的事件传递。

二、NVDA大型机可访问性测试Python脚本参考

NVDA支持通过Python编写自定义插件或脚本,针对大型机终端的测试需求,可参考以下实现方向:

1. 自定义Tab键焦点朗读脚本

针对终端字段无朗读的问题,可编写脚本监听Tab键事件,主动获取并朗读当前焦点字段内容。核心代码示例:

import globalPluginHandler
import inputCore
from scriptHandler import script
import ui
import api

class GlobalPlugin(globalPluginHandler.GlobalPlugin):
    def __init__(self):
        super().__init__()
        # 注册Tab键的自定义处理
        inputCore.registerGestureAction(
            ("kb:tab",),
            self.script_readFocusOnTab,
            displayName="Read Focused Field on Tab"
        )

    @script(description="Read focused terminal field when Tab is pressed")
    def script_readFocusOnTab(self, gesture):
        # 先执行原Tab键操作,确保焦点正常切换
        gesture.send()
        # 获取当前焦点对象
        focus_obj = api.getFocusObject()
        # 提取并朗读字段信息
        if focus_obj:
            field_text = ""
            if hasattr(focus_obj, "name") and focus_obj.name:
                field_text += focus_obj.name
            if hasattr(focus_obj, "value") and focus_obj.value:
                field_text += f": {focus_obj.value}"
            if field_text:
                ui.message(field_text)

将脚本保存为terminalTabReader.py,放置到NVDA安装目录下的globalPlugins文件夹,重启NVDA后即可生效。

2. 批量字段可访问性验证脚本

针对大型机终端的固定布局,可编写脚本遍历预设的字段区域,自动验证每个字段的可访问性属性(如角色、名称、值),并输出测试结果。这类脚本可结合NVDA的api模块获取控件信息,或直接调用Windows API读取终端窗口内容。

注意事项

  • 脚本需遵循NVDA插件开发规范,确保依赖的模块(如api、ui)正确导入。
  • 若终端控件未被NVDA的默认API识别,可尝试使用Windows的UI自动化(UIA)接口获取控件信息。

内容的提问来源于stack exchange,提问作者Victor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:37:38