--- parts: - Icon - Use Cases title: 'Icon: Use Cases' eleventyNavigation: key: 'Icon: Use Cases' order: 20 parent: Icon title: Use Cases --- # Icon: Use Cases ```js script import { html } from '@mdjs/mdjs-preview'; import { icons } from '@lion/ui/icon.js'; import './assets/iconset-bugs.js'; import './assets/iconset-misc.js'; import * as spaceSet from './assets/iconset-space.js'; import '@lion/ui/define/lion-icon.js'; ``` ## Icon sets Icons are displayed using icon sets. These are collections of icons, lazily loaded on demand for performance. See the [system documentation](../../fundamentals/systems/icon/overview.md) to learn more about icon sets. ```js preview-story export const iconSets = () => html` ${Object.keys(spaceSet).map( name => html`
`, )} `; ``` If for some reason you don't want to lazy load icons, you can still import and use them synchronously. ## Accessibility It is recommended to add an `aria-label` to provide information to visually impaired users: A `lion-icon` without an `aria-label` attribute will be automatically given an `aria-hidden` attribute. ```js preview-story export const accessibleLabel = () => html`