SSF-A - Single Standard for Favicons

SSF-A - Single Standard for Favicons

42

3 min.

Definitions

The SSF-A standard defines requirements for the semantics, accessibility, and behavior of favicons.

Structure and Semantics

The favicon must be compatible with various platforms and devices (iOS, Android, desktop browsers), display correctly in light and dark themes, and load quickly with the correct MIME type.

Main Favicon Files

Platform / PurposeFileSizeFormatColor Scheme
Site Rootfavicon.ico48×48px.ico⬛ Black
PWA / Manifestmanifest.webmanifest.webmanifest🟨 Yellow
SVG icon (scalable)icon.svgarbitrary.svg🟧 Orange
iOS / Safariapple-touch-icon.png180×180px.png⬜ Gray
Android Chromeandroid-chrome-192x192.png192×192px.png🟩 Green
Android Chromeandroid-chrome-512x512.png512×512px.png🟩 Green

The color coding corresponds to the file structure diagram.

manifest.webmanifest

{
  "background_color": "#000000",
  "description": "Site description",
  "display": "standalone",
  "name": "Site name",
  "start_url": "/",
  "short_name": "Short name",
  "theme_color": "#ffffff",
  "lang": "en",
  "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"
    }
  ]
}

Integration with Next.js

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 };

File Structure Diagram

Loading diagram...

Color coding:

  • Black - root files;
  • Yellow - manifest;
  • Orange - SVG icon;
  • Gray - iOS;
  • Green - Android.

Accessibility

The favicon should be recognizable and support color themes:

<svg xmlns="http://www.w3.org/2000/svg">
  <style>
    .logo { fill: #000; } /* Light theme */

    @media (prefers-color-scheme: dark) {
      .logo { fill: #fff; } /* Dark theme */
    }
  </style>
  <path class="logo" d="..."/>
</svg>

Interactivity and Visual Feedback

The favicon must be scalable to display correctly on devices with different pixel densities and must have a PWA configuration to display the site as a standalone app, including a splash screen and a color theme for UI elements.

Similar categories:

Similar articles

  • Anatomy of a React component

    My vision for how every React component should look

    97

    8 min.

  • SSF-U - Single Standard for Fullscreen

    The SSF-U standard defines requirements for the semantics, accessibility, and logic of fullscreen

    32

    2 min.

  • SSA - Single Standard for Accordion

    The SSA standard defines requirements for the semantics, accessibility, and logic of accordion

    46

    2 min.

  • Bad Practices for Websites

    An Analysis of Critical Web Design Mistakes. Why Sliders, Autoplay, and Slow-Loading Pages Reduce Conversion Rates and Rankings on Google and Yandex

    44

    2 min.

  • SSP - Single Standard for Pagination

    The SSP standard defines requirements for the semantics, accessibility, and logic of pagination

    54

    1 min.

  • SSPS - Single Standard for Project Structure

    The SSPS standard defines requirements for the structure and naming of files and folders in a project

    164

    2 min.

  • All articles

Contact me