Анатомия React компонента
Моё видение того, как должен выглядеть React компонент
421
7 мин.
Стандарт SSF-A определяет требования к семантике, доступности и логике работы фавиконки.
Фавиконка должна поддерживать различные платформы и устройства (iOS, Android, настольные браузеры), корректно отображаться в светлой и тёмной темах и быстро загружаться с правильным MIME-типом.
Цветовая маркировка соответствует графической схеме.
{
"background_color": "#000000",
"description": "Описание сайта",
"display": "standalone",
"name": "Название сайта",
"start_url": "/",
"short_name": "Короткое название",
"theme_color": "#ffffff",
"lang": "ru",
"dir": "ltr",
"icons": [
{
"src": "/favicons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/favicons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}import type { Metadata } from 'next';
const metadata: Metadata = {
icons: {
icon: [
{
url: '/favicon.ico',
sizes: '48x48',
type: 'image/x-icon',
},
{
url: '/favicons/icon.svg',
sizes: 'any',
type: 'image/svg+xml',
},
],
apple: [
{
url: '/favicons/apple-touch-icon.png',
sizes: '180x180',
type: 'image/png',
},
],
},
manifest: '/manifest.webmanifest',
};
export { metadata };flowchart TD
A[/public/] --> B(favicon.ico)
A --> C(manifest.webmanifest)
A --> D[/favicons/]
D --> E[icon.svg]
D --> F[apple-touch-icon.png]
D --> G[android-chrome-192x192.png]
D --> H[android-chrome-512x512.png]
classDef root fill:#000,stroke:#333,stroke-width:1px,color:#fff;
classDef ios fill:#eee,stroke:#333,stroke-width:1px,color:#000;
classDef android fill:#0f0,stroke:#333,stroke-width:1px,color:#000;
classDef svg fill:#f80,stroke:#333,stroke-width:1px,color:#000;
classDef manifest fill:#ff9,stroke:#333,stroke-width:1px,color:#000;
class A root;
class B root;
class C manifest;
class D root;
class E svg;
class F ios;
class G android;
class H android;Цветовая маркировка:
- Чёрный - корневые файлы;
- Жёлтый - manifest;
- Оранжевый - SVG-иконка;
- Серый - iOS;
- Зелёный - Android.
Фавиконка должна быть узнаваемой и поддерживать цветовые темы:
<svg xmlns="http://www.w3.org/2000/svg">
<style>
.logo { fill: #000; } /* Светлая тема */
@media (prefers-color-scheme: dark) {
.logo { fill: #fff; } /* Темная тема */
}
</style>
<path class="logo" d="..."/>
</svg>Фавиконка должна быть масштабируемой для корректного отображения на устройствах с разной плотностью пикселей с PWA-конфигурацией для отображения сайта как отдельного приложения, включая splash screen и цветовую тему UI элементов.
Похожие категории:
Моё видение того, как должен выглядеть React компонент
421
7 мин.
Стандарт SST-A определяет требования к семантике, доступности и логике работы табов
62
6 мин.
Стандарт SSF-U определяет требования к семантике, доступности и логике работы фуллскрина
248
2 мин.
Стандарт SSA определяет требования к семантике, доступности и логике работы аккордеона
258
2 мин.
Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
232
1 мин.
Стандарт SSP определяет требования к семантике, доступности и логике работы пагинации
240
1 мин.