EqualifyEverything / benchmarks-ai-alt

Archive sprite-referencing SVG instead of skipping it
The harvester was refusing every inline SVG that drew its shape from a `<use>` reference to a sprite symbol, on the grounds that the element's own markup paints nothing. That was 4,169 of the 14,770 named controls a real harvest found, 28 percent, and it was not a neutral loss: a site with a well-built icon sprite is usually a site that labels its icons, so the exclusion skewed the corpus toward worse alt text. harvest.mjs now assembles a standalone SVG document for every inline SVG: the element's own markup, the referenced symbols copied into a `<defs>` block, the namespace declared, and the symbol's `viewBox` borrowed when the element had none. It goes in a new field, `image_svg`, and fetch-images.mjs writes it out byte for byte instead of re-deriving anything from `element_html`. Only a sprite in another file is still out of scope, because that needs a request for bytes the page never carried. `element_html` is untouched and still a character-exact slice; a self-test asserts that the assembled graphic is not one. The pool files are now gitignored: 20 MB of regenerable JSON Lines. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Blake Bertuccelli-Booth Blake Bertuccelli-Booth committed on Aug 28, 2026, 01:13 AM
Showing 8 changed files +219 additions -103 deletions
Browse files at this commit →