Draft
Conversation
Add an `htmlValidate` option to the crawl config that validates HTML content of crawled pages using the html-validate library. The option accepts `true` (uses recommended rules), or a config object supporting `extends: ['mui:recommended']` for the default preset. Config is always static (never loaded from disk). Reports are printed per page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace manual string replacement of mui:recommended in extends with html-validate's staticResolver API, which properly registers the preset so html-validate's own config resolution handles it. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move fetch, parse, link/target extraction, and HTML validation into a single crawlWorker per URL. The main thread now only handles queue management, deduplication, and post-crawl analysis. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Merge broken link and HTML validation issues into a single `issues` array on CrawlResult, using a discriminated union (`BrokenLinkIssue | HtmlValidateIssue`). This removes the separate `htmlValidateResults` field and simplifies consumers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fix all HTML validation errors detected by html-validate: - Use <span> instead of <div> inside <button> in ExpandingBox and SearchButton - Add aria-label to SearchInput and TextInputCopy inputs - Use React.useId() in Checkbox for unique IDs per instance - Deduplicate IDs in enhanceCodeTypes when same type appears in multiple code blocks - Create custom rehypeSlug plugin that pre-seeds slugger with demo slugs - Remove id attributes from DemoContentLoading fallback spans - Use <div> instead of <span> for block-level returnValueDescription in TypesTable - Fix file name collision in code-highlight-idle demo Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2d570d1 to
051f110
Compare
Bundle size reportℹ️ Using snapshot from parent commit 3e5ffed (fallback from merge base b55f137).
Check out the code infra dashboard for more information about this PR. |
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…l-validation-issues
…l-validation-issues
PerformanceTotal duration: 13.19 ms ▼-11.21 ms(-45.9%) | Renders: 4 (+0) | Paint: 63.72 ms ▼-46.21 ms(-42.0%)
Deploy previewhttps://deploy-preview-1295--mui-internal.netlify.app/ Bundle size
Check out the code infra dashboard for more information about this PR. |
Base automatically changed from
add-html-validate-to-broken-links-checker
to
master
April 15, 2026 13:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
<span>instead of<div>inside<button>elements (ExpandingBox, SearchButton)aria-labelattributes on inputsidattributes from loading fallback spansReact.useId()for unique Checkbox input IDs