- Install dependencies
$ yarn bootstrap
- Build the mark tool and runtime SDK and start the node server
$ yarn build
Choose to run an example
? Please choose usage:
❯ Run example
Run packages
Choose to run nodejs-server
? Please choose usage: Run example
? Please choose examples:
a11y-webpack-loader-react
❯ nodejs-server
-
Wait for the build to complete, and it will automatically open the annotation panel at http://localhost:3001/index.html and connect to the socket.
-
Open your project, and introduce the SDK in the code; or open any website in the browser, and introduce the SDK through the devtool console. Then you can start the accessibility annotation on the annotation panel at http://localhost:3001/index.html
const script = document.createElement("script");
script.src = "http://localhost:3001/sdk.min.js";
document.body.appendChild(script);
To integrate the Accessibility Cloud Label into your project, follow these steps:
- Use the
Build
command to build the front-end artifacts, and then place the artifacts frompackages/a11y-web-client/dist
into your resource platform, and introduce the artifacts frompackages/a11y-web-sdk/dist
into your project (you can also directly introduce the source code into your own project for building).
$ Yarn build
Choose to build packages
? Please choose usage:
Run example
❯ Run packages
Choose to build a11y-web-client and a11y-web-sdk
? Please choose usage: Run packages
? Select the corresponding debug packages (multiple selections allowed, use space to select, supports fuzzy search):
a11y-web-client
❯ a11y-web-sdk
a11y-web-socket
a11y-webpack-loader
Adjust the position of the artifacts after the build is completed.
- Deploy the nodejs code in the
packages/a11y-web-socket
directory on your server and start it with the command (note: modify the port configuration inconfig/deployment.config.js
)
$ cd packages/a11y-web-socket && npm run start
- Implement the mock interface in the
examples/nodejs-server
directory and store it in your own database (note: modify the port configuration inconfig/deployment.config.js
).
A11yTag Interface
Field Name | Field Introduction | Field Type |
---|---|---|
desc | Accessibility function description | string |
attrs | The Cloud Label SDK will directly set the attributes in attrs on the target element | AttrsProps |
aid | The property value of the element's a11y-id attribute, generated by a11y-loader, used to select the element | string |
query | The element's CSS Selector, used to select the element (alternatively used with aid) | string |
calcAttrs | Definition of calculation rules, this entry will inform the Cloud Label SDK how to generate accessibility attributes based on the information of existing page elements | CalcAttrsProps |
AttrsProps Interface
Field Name | Field Introduction | Field Type |
---|---|---|
tabindex | Focus order, follows w3c | string | number |
role | Such as button, link, dialog, etc., follows w3c | string |
- This category can support any standard HTML element attributes.
CalcAttrsProps Interface
Field Name | Field Introduction | Field Type |
---|---|---|
label | Sentence, the final reading result of a focus | LabelProps |
LabelProps Interface
Field Name | Field Introduction | Field Type |
---|---|---|
list | Segment, a sentence contains multiple segments | ListProps |
terms | Conditions, specify when the segment is effective under one or more conditions | termsProps |
ListProps Interface
Field Name | Field Introduction | Field Type |
---|---|---|
list | Segment, a sentence contains multiple segments | WordProps[] |
WordProps Interface
Field Name | Field Introduction | Field Type |
---|---|---|
aid | The property value of the element's a11y-id attribute, generated by a11y-loader, used to select the element | string |
query | The element's CSS Selector, used to select the element | string |
value | Fixed text splicing | string |
opt | Word processing method: default is append (+), can be set to subtract (-) | '-' | '+' |
map | Map elements with specific attributes to text | AttrMap |
AttrMap Interface
Field Name | Field Introduction | Field Type |
---|---|---|
type | The type of mapping, fixed to attribute | 'attr' |
attr | The attribute for mapping, such as 'src' for images | string |
match | Matching rules | { [string]: string } |
termsProps Interface
Field Name | Field Introduction | Field Type |
---|---|---|
bool | Effective condition, yes or no | boolean |
check | Rule type, currently supports: existence check, numeric check | 'exist' | 'number' |
aid | The property value of the element's a11y-id attribute, generated by a11y-loader, used to select the element | string |
query | The element's CSS Selector, used to select the element | string |
.
├── CONTRIBUTING.CN.md
├── CONTRIBUTING.md
├── DSL.js // Cloud Label Standard Data Explanation
├── LICENSE
├── README.CN.md
├── README.md
├── commitlint.config.js
├── config
│ ├── deployment.config.js // Deployment configuration, modify as needed
│ └── webpack.base.config.js // Basic webpack configuration
├── examples
│ ├── a11y-webpack-loader-react // Example of automatically generating a11y-id attributes in a React project using a11y-webpack-loader
│ └── nodejs-server // Example of a data processing service built with nodejs
├── lerna.json
├── package-lock.json
├── package.json
├── packages
│ ├── a11y-web-client // Cloud Label Annotation Tool 🔧, supports highlighting during the annotation process and real-time function effectiveness
│ ├── a11y-web-sdk // Cloud Label Runtime SDK, integrates accessibility into the code
│ ├── a11y-web-socket // Cloud Label Service, provides socket annotation capabilities
│ └── a11y-webpack-loader // webpack build loader, adds fixed a11y-id attributes for easy annotation. (Supports JSX source code or product code)
├── script
│ ├── build.js
│ ├── clean.js
│ ├── start.js
│ ├── test.js
│ └── utils.js
└── yarn.lock
If you have any questions, you can contact us by submitting an issue or leaving a comment, and we will respond within three business days.
Accessibility Cloud Label uses the Apache License 2.0.