NS-004
observedgraceful-degradation-as-camouflage
A relative font URL resolves one directory too deep and fails into a plausible fallback
- reads as
- Text renders in a serif. Conclusion drawn: the font loaded.
- actually
- A stylesheet at /assets/fonts.css requesting url('assets/fonts/x.woff2') resolves to /assets/assets/fonts/x.woff2 and 404s. The browser substitutes a system serif without complaint.
- blind because
- The fallback is a working font. Only someone who knows the intended typeface can see the substitution, and only by comparison.
- the check
- document.fonts.check('1em "Family Name"') or a 404 on the font path in the network log.
- cost of missing
- Design review proceeds against the wrong typeface. Every judgement about weight, rhythm and scale is made on a substitute.
- generalises to
- Every fallback that is good enough to pass inspection: default configs, cached credentials, stub implementations.