# axobject-query 中文文档

规范地址：https://npmcn.com/package/axobject-query/

版本：4\.1\.0
npm 元数据更新时间：2024-07-15T19:08:33.695Z
中文译文更新时间：2026-11-05T15:58:52.482Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/axobject-query
原文对照：https://npmcn.com/package/axobject-query/?lang=original
项目主页：https://github.com/A11yance/axobject-query#readme
源码仓库：https://github.com/A11yance/axobject-query

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：111 kB，134 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>= 0\.4
- 运行依赖：0 个
- 首次发布：2017-04-11T22:31:33.368Z
- 最新版本发布：2024-07-15T19:08:33.508Z
- 近 30 天下载量：294366743（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 0 个）

## 中文简介

程序访问 AX 对象模型信息

## 安装

```sh
npm install axobject-query
```

也可以使用：`pnpm add axobject-query`、`yarn add axobject-query`、`bun add axobject-query`

## README

# AX 对象查询

![CI](https://github.com/A11yance/axobject-query/workflows/CI/badge.svg)

模拟模型 [Chrome AX 对象](https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/accessibility/AXObject.h)。 。 。 .

该项目试图将AX对象概念映射到 [WAI-ARIA 1.1 角色模型](https://www.w3.org/TR/wai-aria-1.1/#roles) 从而可以完全地代表HTML层,因为它是被曝光的辅助技术.

CDN URL : (中文(简体) ) [https://unpkg.com/axobject-query (英语)](https://unpkg.com/axobject-query)

## 公用事业

### AX 对象

```javascript
import { AXObjects } from 'axobject-query';
```

#### 接口

从模块导出的每一部分都有这些方法。 文档中的打字有伪型. 每个导出都会有自己对每种方法签名的具体类型.

```javascript
{|
  entries: () => Array<$Item>,
  get: (key: $Key) => ?$Value,
  has: (key: $Key) => boolean,
  keys: () => Array<$Key>,
  values: () => Array<$Value>,
|};
```

### 项目的概念

AX 对象被映射到 HTML 和 ARIA 的概念 `relatedConcepts` 字段.

这个 `type` 字段是一个AX对象的松散关联 `window`, (中文(简体) ), `structure` 财务报告和审定财务报表 `widget` aRIA中的抽象角色. 这个 `generic` 给定值 `DivRole`它在亚细亚不存在。 潜水器在HTML中具有特殊性,因为它被用作通用容器. Span也可能与一般类型有关,但不存在 `SpanRole` AX目标.

```javascript
[
  [ 'AbbrRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'AlertDialogRole', { relatedConcepts: [ [Object] ], type: 'window' } ],
  [ 'AlertRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'AnnotationRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ApplicationRole', { relatedConcepts: [ [Object] ], type: 'window' } ],
  [ 'ArticleRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'AudioRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'BannerRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'BlockquoteRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'BusyIndicatorRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'ButtonRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'CanvasRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'CaptionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'CellRole', { relatedConcepts: [ [Object], [Object], [Object] ], type: 'widget' } ],
  [ 'CheckBoxRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'ColorWellRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'ColumnHeaderRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'ColumnRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ComboBoxRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'ComplementaryRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'ContentInfoRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'DateRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'DateTimeRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'DefinitionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'DescriptionListDetailRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'DescriptionListRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'DescriptionListTermRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'DetailsRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'DialogRole', { relatedConcepts: [ [Object], [Object] ], type: 'window' } ],
  [ 'DirectoryRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'DisclosureTriangleRole', { relatedConcepts: [], type: 'widget' } ],
  [ 'DivRole', { relatedConcepts: [ [Object] ], type: 'generic' } ],
  [ 'DocumentRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'EmbeddedObjectRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'FeedRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'FigcaptionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'FigureRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'FooterRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'FormRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'GridRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'GroupRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'HeadingRole', { relatedConcepts: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object] ], type: 'structure' } ],
  [ 'IframePresentationalRole', { relatedConcepts: [], type: 'window' } ],
  [ 'IframeRole', { relatedConcepts: [ [Object] ], type: 'window' } ],
  [ 'IgnoredRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ImageMapLinkRole', { relatedConcepts: [], type: 'widget' } ],
  [ 'ImageMapRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'ImageRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'InlineTextBoxRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'InputTimeRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'LabelRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'LegendRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'LineBreakRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'LinkRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'ListBoxOptionRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'ListBoxRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'ListItemRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'ListMarkerRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ListRole', { relatedConcepts: [ [Object], [Object], [Object] ], type: 'structure' } ],
  [ 'LogRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'MainRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'MarkRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'MarqueeRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'MathRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'MenuBarRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'MenuButtonRole', { relatedConcepts: [], type: 'widget' } ],
  [ 'MenuItemRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'MenuItemCheckBoxRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'MenuItemRadioRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'MenuListOptionRole', { relatedConcepts: [], type: 'widget' } ],
  [ 'MenuListPopupRole', { relatedConcepts: [], type: 'widget' } ],
  [ 'MenuRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'MeterRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'NavigationRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'NoneRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'NoteRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'OutlineRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ParagraphRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'PopUpButtonRole', { relatedConcepts: [], type: 'widget' } ],
  [ 'PreRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'PresentationalRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'ProgressIndicatorRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'RadioButtonRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'RadioGroupRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'RegionRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'RootWebAreaRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'RowHeaderRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'RowRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'RubyRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'RulerRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ScrollAreaRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'ScrollBarRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'SeamlessWebAreaRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'SearchRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'SearchBoxRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'SliderRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'SliderThumbRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'SpinButtonRole', { relatedConcepts: [ [Object], [Object] ], type: 'widget' } ],
  [ 'SpinButtonPartRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'SplitterRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'StaticTextRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'StatusRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'SVGRootRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'SwitchRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'TabGroupRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'TabRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'TableHeaderContainerRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'TableRole', { relatedConcepts: [ [Object], [Object] ], type: 'structure' } ],
  [ 'TabListRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'TabPanelRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'TermRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'TextFieldRole', { relatedConcepts: [ [Object], [Object], [Object] ], type: 'widget' } ],
  [ 'TimeRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'TimerRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'ToggleButtonRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'ToolbarRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'TreeRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'TreeGridRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'TreeItemRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'UserInterfaceTooltipRole', { relatedConcepts: [ [Object] ], type: 'structure' } ],
  [ 'VideoRole', { relatedConcepts: [ [Object] ], type: 'widget' } ],
  [ 'WebAreaRole', { relatedConcepts: [], type: 'structure' } ],
  [ 'WindowRole', { relatedConcepts: [], type: 'window' } ],
]
```

### AX 对象到元素

```javascript
import { AXObjectElements } from 'axobject-query';
```

AX对象被映射到它们相关的HTML概念上,这可能需要属性(在输入的情况下)来获得正确的关联.

```javascript
[
  [ 'AbbrRole', [ { name: 'abbr' } ] ],
  [ 'ArticleRole', [ { name: 'article' } ] ],
  [ 'AudioRole', [ { name: 'audio' } ] ],
  [ 'BlockquoteRole', [ { name: 'blockquote' } ] ],
  [ 'ButtonRole', [ { name: 'button' } ] ],
  [ 'CanvasRole', [ { name: 'canvas' } ] ],
  [ 'CaptionRole', [ { name: 'caption' } ] ],
  [ 'CellRole', [ { name: 'td' } ] ],
  [ 'CheckBoxRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'ColorWellRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'ColumnHeaderRole', [ { name: 'th' } ] ],
  [ 'DateRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'DateTimeRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'DefinitionRole', [ { name: 'dfn' } ] ],
  [ 'DescriptionListDetailRole', [ { name: 'dd' } ] ],
  [ 'DescriptionListRole', [ { name: 'dl' } ] ],
  [ 'DescriptionListTermRole', [ { name: 'dt' } ] ],
  [ 'DetailsRole', [ { name: 'details' } ] ],
  [ 'DialogRole', [ { name: 'dialog' } ] ],
  [ 'DirectoryRole', [ { name: 'dir' } ] ],
  [ 'DivRole', [ { name: 'div' } ] ],
  [ 'EmbeddedObjectRole', [ { name: 'embed' } ] ],
  [ 'FigcaptionRole', [ { name: 'figcaption' } ] ],
  [ 'FigureRole', [ { name: 'figure' } ] ],
  [ 'FooterRole', [ { name: 'footer' } ] ],
  [ 'FormRole', [ { name: 'form' } ] ],
  [ 'HeadingRole', [ { name: 'h1' }, { name: 'h2' }, { name: 'h3' }, { name: 'h4' }, { name: 'h5' }, { name: 'h6' } ] ],
  [ 'IframeRole', [ { name: 'iframe' } ] ],
  [ 'ImageMapRole', [ { name: 'img', attributes: [Object] } ] ],
  [ 'ImageRole', [ { name: 'img' } ] ],
  [ 'InlineTextBoxRole', [ { name: 'input' } ] ],
  [ 'InputTimeRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'LabelRole', [ { name: 'label' } ] ],
  [ 'LegendRole', [ { name: 'legend' } ] ],
  [ 'LineBreakRole', [ { name: 'br' } ] ],
  [ 'LinkRole', [ { name: 'a', attributes: [Object] } ] ],
  [ 'ListBoxOptionRole', [ { name: 'option' } ] ],
  [ 'ListItemRole', [ { name: 'li' } ] ],
  [ 'ListRole', [ { name: 'ul' }, { name: 'ol' } ] ],
  [ 'MainRole', [ { name: 'main' } ] ],
  [ 'MarkRole', [ { name: 'mark' } ] ],
  [ 'MarqueeRole', [ { name: 'marquee' } ] ],
  [ 'MenuItemRole', [ { name: 'menuitem' } ] ],
  [ 'MenuRole', [ { name: 'menu' } ] ],
  [ 'MeterRole', [ { name: 'meter' } ] ],
  [ 'NavigationRole', [ { name: 'nav' } ] ],
  [ 'ParagraphRole', [ { name: 'p' } ] ],
  [ 'PreRole', [ { name: 'pre' } ] ],
  [ 'ProgressIndicatorRole', [ { name: 'progress' } ] ],
  [ 'RadioButtonRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'RowHeaderRole', [ { name: 'th', attributes: [Object] } ] ],
  [ 'RowRole', [ { name: 'tr' } ] ],
  [ 'RubyRole', [ { name: 'ruby' } ] ],
  [ 'SearchBoxRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'SliderRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'SpinButtonRole', [ { name: 'input', attributes: [Object] } ] ],
  [ 'TableRole', [ { name: 'table' } ] ],
  [ 'TextFieldRole', [ { name: 'input' }, { name: 'input', attributes: [Object] } ] ],
  [ 'TimeRole', [ { name: 'time' } ] ],
  [ 'VideoRole', [ { name: 'video' ] ],
]
```

### AX 作用对象

```javascript
import { AXObjectRoles } from 'axobject-query';
```

AX目标被映射到它们相关的ARIA概念中.

```javascript
[
  [ 'AlertDialogRole', [ { name: 'alertdialog' } ] ],
  [ 'AlertRole', [ { name: 'alert' } ] ],
  [ 'ApplicationRole', [ { name: 'application' } ] ],
  [ 'ArticleRole', [ { name: 'article' } ] ],
  [ 'BannerRole', [ { name: 'banner' } ] ],
  [ 'BusyIndicatorRole', [ { attributes: [Object] } ] ],
  [ 'ButtonRole', [ { name: 'button' } ] ],
  [ 'CellRole', [ { name: 'cell' }, { name: 'gridcell' } ] ],
  [ 'CheckBoxRole', [ { name: 'checkbox' } ] ],
  [ 'ColumnHeaderRole', [ { name: 'columnheader' } ] ],
  [ 'ComboBoxRole', [ { name: 'combobox' } ] ],
  [ 'ComplementaryRole', [ { name: 'complementary' } ] ],
  [ 'ContentInfoRole', [ { name: 'structureinfo' } ] ],
  [ 'DialogRole', [ { name: 'dialog' } ] ],
  [ 'DirectoryRole', [ { name: 'directory' } ] ],
  [ 'DocumentRole', [ { name: 'document' } ] ],
  [ 'FeedRole', [ { name: 'feed' } ] ],
  [ 'FigureRole', [ { name: 'figure' } ] ],
  [ 'FormRole', [ { name: 'form' } ] ],
  [ 'GridRole', [ { name: 'grid' } ] ],
  [ 'GroupRole', [ { name: 'group' } ] ],
  [ 'HeadingRole', [ { name: 'heading' } ] ],
  [ 'ImageRole', [ { name: 'img' } ] ],
  [ 'LinkRole', [ { name: 'link' } ] ],
  [ 'ListBoxOptionRole', [ { name: 'option' } ] ],
  [ 'ListBoxRole', [ { name: 'listbox' } ] ],
  [ 'ListItemRole', [ { name: 'listitem' } ] ],
  [ 'ListRole', [ { name: 'list' } ] ],
  [ 'LogRole', [ { name: 'log' } ] ],
  [ 'MainRole', [ { name: 'main' } ] ],
  [ 'MarqueeRole', [ { name: 'marquee' } ] ],
  [ 'MathRole', [ { name: 'math' } ] ],
  [ 'MenuBarRole', [ { name: 'menubar' } ] ],
  [ 'MenuItemRole', [ { name: 'menuitem' } ] ],
  [ 'MenuItemCheckBoxRole', [ { name: 'menuitemcheckbox' } ] ],
  [ 'MenuItemRadioRole', [ { name: 'menuitemradio' } ] ],
  [ 'MenuRole', [ { name: 'menu' } ] ],
  [ 'NavigationRole', [ { name: 'navigation' } ] ],
  [ 'NoneRole', [ { name: 'none' } ] ],
  [ 'NoteRole', [ { name: 'note' } ] ],
  [ 'PresentationalRole', [ { name: 'presentation' } ] ],
  [ 'ProgressIndicatorRole', [ { name: 'progressbar' } ] ],
  [ 'RadioButtonRole', [ { name: 'radio' } ] ],
  [ 'RadioGroupRole', [ { name: 'radiogroup' } ] ],
  [ 'RegionRole', [ { name: 'region' } ] ],
  [ 'RowHeaderRole', [ { name: 'rowheader' } ] ],
  [ 'RowRole', [ { name: 'row' } ] ],
  [ 'ScrollBarRole', [ { name: 'scrollbar' } ] ],
  [ 'SearchRole', [ { name: 'search' } ] ],
  [ 'SearchBoxRole', [ { name: 'searchbox' } ] ],
  [ 'SliderRole', [ { name: 'slider' } ] ],
  [ 'SpinButtonRole', [ { name: 'spinbutton' } ] ],
  [ 'SplitterRole', [ { name: 'separator' } ] ],
  [ 'StatusRole', [ { name: 'status' } ] ],
  [ 'SwitchRole', [ { name: 'switch' } ] ],
  [ 'TabGroupRole', [ { name: 'tablist' } ] ],
  [ 'TabRole', [ { name: 'tab' } ] ],
  [ 'TableRole', [ { name: 'table' } ] ],
  [ 'TabListRole', [ { name: 'tablist' } ] ],
  [ 'TabPanelRole', [ { name: 'tabpanel' } ] ],
  [ 'TermRole', [ { name: 'term' } ] ],
  [ 'TextFieldRole', [ { name: 'textbox' } ] ],
  [ 'TimerRole', [ { name: 'timer' } ] ],
  [ 'ToggleButtonRole', [ { attributes: [Object] } ] ],
  [ 'ToolbarRole', [ { name: 'toolbar' } ] ],
  [ 'TreeRole', [ { name: 'tree' } ] ],
  [ 'TreeGridRole', [ { name: 'treegrid' } ] ],
  [ 'TreeItemRole', [ { name: 'treeitem' } ] ],
  [ 'UserInterfaceTooltipRole', [ { name: 'tooltip' } ] ],
]
```

### AX 对象的元素

```javascript
import { elementAXObjects } from 'axobject-query';
```

HTML元素被映射到它们相关的AXConcepts概念.

```javascript
[
  [ { name: 'abbr' }, [ 'AbbrRole' ] ],
  [ { name: 'article' }, [ 'ArticleRole' ] ],
  [ { name: 'audio' }, [ 'AudioRole' ] ],
  [ { name: 'blockquote' }, [ 'BlockquoteRole' ] ],
  [ { name: 'button' }, [ 'ButtonRole' ] ],
  [ { name: 'canvas' }, [ 'CanvasRole' ] ],
  [ { name: 'caption' }, [ 'CaptionRole' ] ],
  [ { name: 'td' }, [ 'CellRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'CheckBoxRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'ColorWellRole' ] ],
  [ { name: 'th' }, [ 'ColumnHeaderRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'DateRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'DateTimeRole' ] ],
  [ { name: 'dfn' }, [ 'DefinitionRole' ] ],
  [ { name: 'dd' }, [ 'DescriptionListDetailRole' ] ],
  [ { name: 'dl' }, [ 'DescriptionListRole' ] ],
  [ { name: 'dt' }, [ 'DescriptionListTermRole' ] ],
  [ { name: 'details' }, [ 'DetailsRole' ] ],
  [ { name: 'dialog' }, [ 'DialogRole' ] ],
  [ { name: 'dir' }, [ 'DirectoryRole' ] ],
  [ { name: 'div' }, [ 'DivRole' ] ],
  [ { name: 'embed' }, [ 'EmbeddedObjectRole' ] ],
  [ { name: 'figcaption' }, [ 'FigcaptionRole' ] ],
  [ { name: 'figure' }, [ 'FigureRole' ] ],
  [ { name: 'footer' }, [ 'FooterRole' ] ],
  [ { name: 'form' }, [ 'FormRole' ] ],
  [ { name: 'h1' }, [ 'HeadingRole' ] ],
  [ { name: 'h2' }, [ 'HeadingRole' ] ],
  [ { name: 'h3' }, [ 'HeadingRole' ] ],
  [ { name: 'h4' }, [ 'HeadingRole' ] ],
  [ { name: 'h5' }, [ 'HeadingRole' ] ],
  [ { name: 'h6' }, [ 'HeadingRole' ] ],
  [ { name: 'iframe' }, [ 'IframeRole' ] ],
  [ { name: 'img', attributes: [ [Object] ] }, [ 'ImageMapRole' ] ],
  [ { name: 'img' }, [ 'ImageRole' ] ],
  [ { name: 'input' }, [ 'InlineTextBoxRole', 'TextFieldRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'InputTimeRole' ] ],
  [ { name: 'label' }, [ 'LabelRole' ] ],
  [ { name: 'legend' }, [ 'LegendRole' ] ],
  [ { name: 'br' }, [ 'LineBreakRole' ] ],
  [ { name: 'a', attributes: [ [Object] ] }, [ 'LinkRole' ] ],
  [ { name: 'option' }, [ 'ListBoxOptionRole' ] ],
  [ { name: 'li' }, [ 'ListItemRole' ] ],
  [ { name: 'ul' }, [ 'ListRole' ] ],
  [ { name: 'ol' }, [ 'ListRole' ] ],
  [ { name: 'main' }, [ 'MainRole' ] ],
  [ { name: 'mark' }, [ 'MarkRole' ] ],
  [ { name: 'marquee' }, [ 'MarqueeRole' ] ],
  [ { name: 'menuitem' }, [ 'MenuItemRole' ] ],
  [ { name: 'menu' }, [ 'MenuRole' ] ],
  [ { name: 'meter' }, [ 'MeterRole' ] ],
  [ { name: 'nav' }, [ 'NavigationRole' ] ],
  [ { name: 'p' }, [ 'ParagraphRole' ] ],
  [ { name: 'pre' }, [ 'PreRole' ] ],
  [ { name: 'progress' }, [ 'ProgressIndicatorRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'RadioButtonRole' ] ],
  [ { name: 'th', attributes: [ [Object] ] }, [ 'RowHeaderRole' ] ],
  [ { name: 'tr' }, [ 'RowRole' ] ],
  [ { name: 'ruby' }, [ 'RubyRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'SearchBoxRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'SliderRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'SpinButtonRole' ] ],
  [ { name: 'table' }, [ 'TableRole' ] ],
  [ { name: 'input' }, [ 'InlineTextBoxRole', 'TextFieldRole' ] ],
  [ { name: 'input', attributes: [ [Object] ] }, [ 'TextFieldRole' ] ],
  [ { name: 'time' }, [ 'TimeRole' ] ],
  [ { name: 'video' }, [ 'VideoRole' ] ],
]
```

## 许可证

版权(c)2021 A11yance

## 常见问题

### axobject-query 是什么？

程序访问 AX 对象模型信息

### 如何安装 axobject-query？

在项目目录运行 npm install axobject-query，或使用 pnpm add / yarn add / bun add。

### axobject-query 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/axobject-query 是否存在。

### axobject-query 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### axobject-query 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>= 0\.4。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### axobject-query 可以商用吗？

axobject-query 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### axobject-query 的下载量有多少？

根据 npm 官方下载统计，axobject-query 在 2026/10/07 – 2026/11/05 这 30 天内被下载 294,366,743 次，日均约 9,812,225 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### axobject-query 还在维护吗？

最新版本 4\.1\.0 发布于 2024/07/16（2 年前）；至今共发布 19 个版本，其中过去 12 个月发布了 0 个；首次发布于 2017/04/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

