Button Accessible Name Auditor
Pricing
Pay per usage
Button Accessible Name Auditor
Audit one public page for buttons missing accessible names. Checks native buttons, button inputs, role=button controls, score, and accessibility fixes.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sanskar Jaiswal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Button Accessible Name Auditor checks one public web page for buttons and role="button" controls missing accessible names. It returns structured JSON for accessibility QA, SEO agency reports, launch checks, and scheduled template monitoring.
Use cases
- Audit icon buttons, menu buttons, dialog controls, and calls to action before launch.
- Add focused accessibility checks to site migration and CMS template QA.
- Monitor high-value pages for regressions after design changes.
- Feed button accessibility results into dashboards, QA workflows, and issue triage.
Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrl | string | Yes | Public HTTP or HTTPS page URL to audit. Credentials and private network targets are rejected. |
timeoutSeconds | integer | No | Request timeout for the page fetch. Default: 10, range: 3 to 30. |
maxButtons | integer | No | Maximum buttons and unnamed buttons to include in the dataset item. Default: 50, range: 1 to 200. |
Output
The actor pushes one dataset item per run.
| Field | Type | Description |
|---|---|---|
inputUrl | string | Original submitted URL. |
normalizedInputUrl | string | URL after adding a default scheme if needed. |
finalUrl | string | Final URL after safe redirects. |
status | integer or null | HTTP status from the page fetch. |
ok | boolean | True when the page was fetched and all detected buttons have accessible names. |
checkedAt | string | ISO timestamp for the audit. |
buttonCount | integer | Number of native buttons, button inputs, and role="button" controls checked. |
namedCount | integer | Number of checked buttons with an accessible name. |
unnamedButtonCount | integer | Number of checked buttons without an accessible name. |
accessibleNameCoveragePercent | integer | Percentage of checked buttons with accessible names. |
buttons | array | Sample of checked buttons with tag, type, id, class, role, accessible name signals, and status. |
unnamedButtons | array | Sample of buttons missing accessible names. |
score | integer | Readiness score from 0 to 100. |
grade | string | Letter grade from A to F. |
issues | array | Human-readable findings. |
recommendations | array | Actionable fixes. |
error | string or null | Fetch or validation error when present. |
Example input
{"startUrl": "https://example.com/pricing","timeoutSeconds": 10,"maxButtons": 50}
Example output
{"inputUrl": "https://example.com/pricing","normalizedInputUrl": "https://example.com/pricing","finalUrl": "https://example.com/pricing","status": 200,"ok": false,"checkedAt": "2026-07-18T00:00:00.000Z","buttonCount": 2,"namedCount": 1,"unnamedButtonCount": 1,"accessibleNameCoveragePercent": 50,"buttons": [{"tag": "button","type": "button","id": null,"className": "icon-close","role": null,"hasAriaLabel": false,"hasAriaLabelledby": false,"hasVisibleText": false,"accessibleName": null,"ok": false}],"unnamedButtons": [],"score": 80,"grade": "B","issues": ["1 button(s) lack an accessible name"],"recommendations": ["Add button text, aria-label, aria-labelledby, value, or alt text for icon/image buttons."],"error": null}
Security
- Fetches only public HTTP and HTTPS URLs.
- Rejects URL credentials.
- Blocks localhost, private IPv4 ranges, link-local IPv4, loopback, private IPv6, and link-local IPv6 targets.
- Resolves hostnames before fetching and blocks DNS results that point to private networks.
- Revalidates redirects before following them.
- Reads a bounded response body to avoid oversized page runs.
Pricing
Suggested pay-per-event pricing:
| Event | Suggested price |
|---|---|
| Actor start | $0.005 |
| Page audited | $0.01 |
Typical one-page run cost: about $0.015 before Apify platform charges. Apify keeps its standard commission and the actor owner receives the remainder.
FAQ
Does this replace a full accessibility audit?
No. It checks one high-signal button-name issue on one page. Use it as a lightweight API check alongside broader accessibility testing.
Does it execute JavaScript or click buttons?
No. It fetches static HTML and parses buttons. It does not click, type, submit, or execute browser automation.
What counts as an accessible name?
The actor treats visible button text, aria-label, aria-labelledby, value, alt, and title as naming signals for this focused static check.
Can it crawl a whole site?
No. It audits one submitted page. Schedule multiple runs or pass pages through your own queue when site-wide coverage is needed.