Skip to main content
Glama

a11y-toolkit: W3C Nu validation

a11y_html_validate
Read-onlyIdempotent

Validates raw HTML or page URLs via the W3C Nu Html Checker, revealing structural, doctype, encoding, alt, lang, and role WCAG issues. Options for self-hosted instances protect sensitive content.

Instructions

The W3C's own parser as a toolkit mode: checks a URL or raw HTML against the Nu Html Checker (validator.w3.org/nu) — doctype, encoding, structural validity, plus alt/lang/role issues from the authoritative source, mapped to WCAG criteria where they overlap. PRIVACY: html mode POSTs the document to the W3C service (url mode shares only the URL, like a11y_audit_url); self-hosted vnu instances supported via base_url for sensitive content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPage URL to validate (shares the URL with the W3C service)
htmlNoRaw HTML to validate — POSTs the content to validator.w3.org/nu; use url or a self-hosted instance for sensitive pages
langNoOutput language (en default)
base_urlNoBase URL of a self-hosted vnu instance (docker ghcr.io/validator/validator) instead of the public W3C service

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv4.0.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive safety. The description adds valuable behavioral context: privacy implications of POSTing versus sharing URLs, support for self-hosting to avoid sending sensitive content, and the fact that results map to WCAG criteria. These go beyond the annotations and inform the agent of network-side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense sentence followed by a PRIVACY note. It front-loads the core purpose and then delivers actionable privacy guidance. No filler, but the structure could be broken into clearer sentences. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should clarify the return value. It mentions that it checks for issues and maps to WCAG criteria, but does not specify the format of the report (e.g., list of errors, severity, WCAG references). Given the complexity and lack of output schema, this is a notable gap. Annotations cover safety, but the absence of return-format disclosure leaves the agent guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter is documented. The description adds extra meaning beyond the schema: for 'url' it notes only the URL is shared, for 'html' it warns about POSTing content and suggests self-hosting for sensitive pages, and for 'base_url' it specifies the docker image. This enriches the schema descriptions without repetition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('checks') and resource ('URL or raw HTML against the Nu Html Checker'), enumerates the validation aspects (doctype, encoding, structural validity, alt/lang/role), and maps to WCAG criteria. It clearly differentiates from siblings by emphasizing the W3C's authoritative parser, and the privacy note references a sibling (a11y_audit_url) to draw a distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on mode selection: html mode POSTs content, url mode shares only the URL, and self-hosted base_url is recommended for sensitive content. It mentions a sibling (a11y_audit_url) for similarity but stops short of an explicit when-not-to-use statement against other audit tools. Overall, context for choosing modes is clear, but exclusions are implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.