Using a fresh in stall of Firefox, the linked page displays the icons correctly.
We ought to believe someone chooses to use an icon for aesthetics AND usability reasons. If the icon can't be rendered at all, it defeats it's purpose despite it having a "description".
Ultimately, if a well designed, user-friendly system doesn't work the way it's intended to, it is an accessibility issue of some degree. Albeit, some times more trivial than others.
There are no ARIA attributes that link any of the text to the buttons.
In this example we'd add an aria-labelledby to the button which references the span with the correct info.
At least in my limited frontend experience.
Imagine rendering 50 rows with each 6 icons, 1kb each. There are 6 unique icons, so it’s only 6kb each loading them from the server, but inline you’ll have 300kb of SVG icons
Since at $JOB i'm using SVG icons with more than one color, i use fill="var(--svg-color-base)" or fill="var(--svg-color-accent)" so i can precisely set which color i want, in a perfectly scope-able manner.
The greatest advantage is that you can reference externally your svg with xlink.href on top of your website: you have to make one more request, but it's cacheable. Pick your tradeoff :)
So what you're describing is having site.com/page1 which has markup: <body> <svg id="icon-1"> ... </svg> </body>
and then on site.com/page2 having
<body> <svg> <use href="/page1#icon-1"> </svg> </body>
Or something of this manner? Haven't encountered this, but sounds awesome; especially since you'd get the power of both inlining and caching the asset.
Dora anyone know? I'm not going to sign up for something without knowing what I'm getting into.
Looks like they're using the experimental CSSStyleSheet() constructor [1] to display the pricing table. Ugh.
[1] https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleShe...
https://www.npmjs.com/package/construct-style-sheets-polyfil...
That said, if you have a single page app already, you can render as many icons as you want, since you’ll only download them once anyway.