Form Label Auditor avatar

Form Label Auditor

Pricing

Pay per usage

Go to Apify Store
Form Label Auditor

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

Sanskar Jaiswal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

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

FieldTypeRequiredDescription
startUrlstringYesPublic HTTP or HTTPS page URL to audit. Credentials and private network targets are rejected.
timeoutSecondsintegerNoRequest timeout for the page fetch. Default: 10, range: 3 to 30.
maxControlsintegerNoMaximum 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.

FieldTypeDescription
inputUrlstringOriginal submitted URL.
normalizedInputUrlstringURL after adding a default scheme if needed.
finalUrlstringFinal URL after safe redirects.
statusinteger or nullHTTP status from the page fetch.
okbooleanTrue when the page was fetched and all detected form controls have accessible names.
checkedAtstringISO timestamp for the audit.
controlCountintegerNumber of user-entry form controls checked. Hidden, submit, button, reset, and image inputs are skipped.
labeledCountintegerNumber of controls with an accessible name.
missingLabelCountintegerNumber of controls without an accessible name.
labelCoveragePercentintegerPercentage of checked controls with accessible names.
controlsarraySample of checked controls with tag, type, id, name, label and accessible-name flags.
missingControlsarraySample of controls missing accessible names.
scoreintegerReadiness score from 0 to 100.
gradestringLetter grade from A to F.
issuesarrayHuman-readable findings.
recommendationsarrayActionable fixes.
errorstring or nullFetch 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:

EventSuggested 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.