Skip to main content

API V2 reference (beta)

AccessLint Issues

An AccessLint issue corresponds to an accessibility issue found on a given web page when being checked by AccessLint Core. It groups all affected elements for the same canonical AccessLint rule on that page, even when their original messages differ.

Attributes

ID
Stable canonical rule ID, including its slash, such as distinguishable/color-contrast. It remains the same after rechecking the page.
Rule ID
ID of the AccessLint Core rule that reports this issue, such as text-alternatives/img-alt. This is also the public issue ID.
Message
AccessLint's heading for the rule, such as Images must have alternate text, or the rule ID when Rocket Validator has no guide for it. Original engine messages remain on each element.
URL
URL of the document the issue refers to. Typically this is the URL of the related Web Page.
HTML
Code snippets showing the affected elements, most severe first.
Elements
Every affected element with its original message, html, selector, context, fix, impact, impact_order, engine_version, finding id and timestamps. These diagnostics remain unchanged when findings are grouped.
How Many
Number of elements on the web page affected by this issue.
Impact
Highest severity among the findings in this group.
Impact Order
Numerical representation of the Impact.
Inserted At
Timestamp when the AccessLint Issue was created.
Updated At
Timestamp when the AccessLint Issue was last updated.
Description
Short plain-text explanation of the issue, from the Rocket Validator guide for its rule. Null when no guide matches. This is Rocket Validator's own explanation, and is separate from the Message attribute, which carries the rule heading.
Description Markdown
The same explanation in Markdown. Null when no guide matches.
Description HTML
The same explanation as rendered HTML. Null when no guide matches.
Guide URL
Link to the full guide for this issue. Null when no guide matches.

Guide descriptions are not available for every issue

When no guide matches an issue, the four description and guide attributes are null. Treat them as optional.

Relationships

Report
The Report that this AccessLint Issue belongs to.
Web Page
The Web Page that this AccessLint Issue belongs to.

Example

Example: AccessLint Issue

{
"data": {
"attributes": {
"description": "Images must have alternate text. Add an alt attribute to <img> elements. Decorative images may use an empty alt attribute (alt=\"\"), role='none', or role='presentation'.",
"description_html": "<p>Images must have alternate text. Add an alt attribute to <code>&lt;img&gt;</code> elements. Decorative images may use an empty alt attribute (alt=&quot;&quot;), role='none', or role='presentation'.</p>",
"description_markdown": "Images must have alternate text. Add an alt attribute to `<img>` elements. Decorative images may use an empty alt attribute (alt=\"\"), role='none', or role='presentation'.",
"guide_url": "https://rocketvalidator.com/accessibility-validation/accesslint/0.21/text-alternatives/img-alt",
"elements": [{"id": 40215873, "html": "<img src=\"/images/logo.png\">", "selector": "img.logo", "message": "Image element is missing an alt attribute.", "context": null, "fix": null, "impact": "critical", "impact_order": 4, "engine_version": "0.21.0", "inserted_at": "2026-10-06T13:54:37", "updated_at": "2026-10-06T13:54:37"}, {"id": 40215874, "html": "<img src=\"/images/team.jpg\" class=\"hero\">", "selector": "img.hero", "message": "Image element is missing an alt attribute.", "context": null, "fix": null, "impact": "critical", "impact_order": 4, "engine_version": "0.21.0", "inserted_at": "2026-10-06T13:54:37", "updated_at": "2026-10-06T13:54:37"}],
"how_many": 2,
"html": [
"<img src=\"/images/logo.png\">",
"<img src=\"/images/team.jpg\" class=\"hero\">"
],
"impact": "critical",
"impact_order": 4,
"inserted_at": "2026-10-06T13:54:37",
"message": "Images must have alternate text",
"rule_id": "text-alternatives/img-alt",
"updated_at": "2026-10-06T13:54:37",
"url": "https://dummy.rocketvalidator.com/about/"
},
"id": "text-alternatives/img-alt",
"relationships": {
"report": {
"links": {
"related": "https://rocketvalidator.com/api/v2/reports/2455a63a-7e16-4cbf-8455-6c9a88195142"
}
},
"web_page": {
"links": {
"related": "https://rocketvalidator.com/api/v2/reports/2455a63a-7e16-4cbf-8455-6c9a88195142/web_pages/8683545"
}
}
},
"type": "accesslint_issue"
},
"jsonapi": {
"version": "1.0"
}
}

List AccessLint issues on a web page

To list the AccessLint issues found on a web page, send a GET request to /api/v2/reports/$REPORT_ID/web_pages/$WEBPAGE_ID/accesslint_issues.

Example: list AccessLint issues for a web page

GET /api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues

Filtering by message

To include only the AccessLint issues of a given kind, use the filter[message] option. It matches part of the rule heading that the issue returns as message, an original element message or the canonical rule ID, ignoring case. A match selects the complete rule group, including findings with other messages.

Example: filter AccessLint issues for a web page about "alt"

GET /api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues?filter[message]=alt

AccessLint Core doesn't tag its results, so you can't filter AccessLint issues by tag.

List AccessLint Issues by Category

To list every rule group in a category on a web page, send a GET request to /api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues/$CATEGORY. The category is the part of the canonical rule ID before its slash, such as text-alternatives in text-alternatives/img-alt.

Example: list AccessLint issues by category on a web page

GET /api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues/$CATEGORY

Category matching is exact and case-sensitive. Categories use lowercase letters, digits and hyphens, beginning with a letter. A valid category with no findings on this page returns 200 OK with an empty collection ("data": []). Invalid categories, inaccessible reports and pages outside the report return 404 Not Found.

The response uses the same rule groups and pagination as the full issue list. You can combine the category with filter[message]; matching groups still include every affected element on the page.

Example: paginate matching issues in the text-alternatives category

GET /api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues/text-alternatives?filter[message]=alt&page[number]=1&page[size]=25

Retrieve an AccessLint issue

To show an individual AccessLint issue on a web page, send a GET request to /api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues/$CATEGORY/$RULE_SLUG

Example: retrieve AccessLint issue for a web page

GET /api/v2/reports/$REPORT_ID/web_pages/$WEBPAGE_ID/accesslint_issues/$CATEGORY/$RULE_SLUG

The ID distinguishable/color-contrast uses the detail path /accesslint_issues/distinguishable/color-contrast. Keep the slash as a path separator. Grouping does not change message-substring muting: use an original element message or your chosen substring.