The 10-Point SVG Pre-Merge Code Review Checklist
| # | Check | Pass Condition |
|---|---|---|
| 1 | True vector paths | Zero embedded <image href="data:image/png..."> bitmaps masquerading as SVG. |
| 2 | Clean viewBox + intrinsic size | Valid viewBox (e.g. 0 0 24 24) with no clipped outer strokes + width/height fallback. |
| 3 | Themeable color hooks | Monochrome UI icons use currentColor; brand/flag SVGs preserve intentional hex values. |
| 4 | 16px / 24px / Dark UI test | Counters stay open at 16px and contrast >= 3:1 on both white and #0F172A slate. |
| 5 | Scoped internal <defs> IDs | No generic id="a", id="clip0", or id="paint0_linear" in inline SVGs. |
| 6 | Sanitized markup | Zero <script>, inline on* handlers, or external XML entity declarations. |
| 7 | Minified payload | Editor namespaces/comments removed; UI glyphs typically < 1 KB raw. |
| 8 | WCAG ARIA semantics | aria-hidden="true" focusable="false" on decorative icons; aria-label on icon buttons. |
| 9 | RTL behavior | Directional chevrons/arrows tagged for RTL mirroring where localized. |
| 10 | Recorded SPDX license | Library name, author, and LICENSE.txt documented in repo notices. |
Running the Visual Half of the Audit in One Browser Tab
Drop any candidate icon into SVG Nexus Studio or the Online SVG Editor to verify items 1 through 7 simultaneously: the node inspector exposes stray <image> or <clipPath> tags, the 16px / 24px / 32px / Dark UI strip tests optical legibility, the WCAG contrast meter checks foreground/background ratios, and the Optimizer tab confirms final byte weight.