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, findingidand 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><img></code> elements. Decorative images may use an empty alt attribute (alt=""), 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
GETrequest 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_issuesFiltering 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 asmessage, 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]=altAccessLint 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
GETrequest 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 astext-alternativesintext-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/$CATEGORYCategory 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 OKwith an empty collection ("data": []). Invalid categories, inaccessible reports and pages outside the report return404 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]=25Retrieve an AccessLint issue
To show an individual AccessLint issue on a web page, send a
GETrequest to/api/v2/reports/$REPORT_ID/web_pages/$WEB_PAGE_ID/accesslint_issues/$CATEGORY/$RULE_SLUGExample: retrieve AccessLint issue for a web page
GET /api/v2/reports/$REPORT_ID/web_pages/$WEBPAGE_ID/accesslint_issues/$CATEGORY/$RULE_SLUGThe ID
distinguishable/color-contrastuses 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.