Form Label Auditor
Pricing
Pay per usage
Form Label Auditor
"Enrich public GitHub repository URLs with stars, forks, topics, license, activity, owner metadata, release data, and lead-scoring signals. Built for B2B lead generation, devtools research, and competitive intelligence."
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sanskar Jaiswal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Form Label Auditor checks one public web page for accessible labels on form controls and returns structured JSON for accessibility, SEO, and QA workflows. It detects inputs, selects, and textareas that lack a visible label, aria-label, aria-labelledby, or title-based accessible name.
Use cases
- Audit lead forms, checkout forms, signup pages, and contact pages before launch.
- Add focused accessibility checks to SEO agency and site migration reports.
- Monitor CMS templates for missing labels after design changes.
- Feed form accessibility results into QA dashboards and developer workflows.
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. |
maxControls | integer | No | Maximum controls and missing controls 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 form controls have accessible names. |
checkedAt | string | ISO timestamp for the audit. |
controlCount | integer | Number of user-entry form controls checked. Hidden, submit, button, reset, and image inputs are skipped. |
labeledCount | integer | Number of controls with an accessible name. |
missingLabelCount | integer | Number of controls without an accessible name. |
labelCoveragePercent | integer | Percentage of checked controls with accessible names. |
controls | array | Sample of checked controls with tag, type, id, name, label and accessible-name flags. |
missingControls | array | Sample of controls 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/contact","timeoutSeconds": 10,"maxControls": 50}
Example output
{"inputUrl": "https://example.com/contact","normalizedInputUrl": "https://example.com/contact","finalUrl": "https://example.com/contact","status": 200,"ok": false,"checkedAt": "2026-07-16T00:00:00.000Z","controlCount": 2,"labeledCount": 1,"missingLabelCount": 1,"labelCoveragePercent": 50,"controls": [{"tag": "input","type": "text","id": "email","name": "email","hasLabel": true,"hasAriaLabel": false,"hasTitle": false,"placeholder": null,"accessibleName": "Email address","ok": true}],"missingControls": [],"score": 80,"grade": "B","issues": ["1 form control(s) lack an accessible name"],"recommendations": ["Add visible label elements linked with for/id, or use aria-label for compact controls."],"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 form-label issue on one page. Use it as a lightweight API check alongside broader accessibility testing.
Does it submit forms or interact with pages?
No. It fetches static HTML and parses form controls. It does not click, type, submit, or execute browser automation.
Does placeholder text count as a label?
No. Placeholder text is captured for context, but it is not treated as a reliable accessible name. Add a visible label or ARIA name.
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.