Home

Awesome

Front-End Checklist Logo

<h2 align="center"><a href="http://frontendchecklist.io">Front-End Checklist</a></h2> <p align="center"> <em>The Front-End Checklist це вичерпний перелік елементів сайту або HTML сторінки, котрі слід перевірити перед випуском в production</em> </p>

Join the chat at https://gitter.im/Front-End-Checklist/Lobby Front‑End_Checklist followed Backers on Open Collective Sponsors on Open Collective Contributors StackShare CC0

Він заснований на багаторічному досвіді front-end розробників і, окрім цього, включає в себе частини інших відкритих checklist-ів.

Зміст

  1. Head
  2. HTML
  3. Web-шрифти
  4. CSS
  5. Картинки
  6. JavaScript
  7. Безпека
  8. Продуктивність
  9. Доступність
  10. SEO

Як цим користуватися?

Усі пункти Front-End Checklist обов'язкові для більшості сайтів, проте деякі елементи можуть бути менш важливі або взагалі пропущені (наприклад, якщо вам не потрібнен RSS для додатку адміністрування). Ми обрали 3 рівня гнучкості:

Деякі зовнішні посилання позначені значками, щоб ви краще розуміли, який контент або допомогу можна знайти:

Якщо хочете зробити внесок до Front-End Checklist App, прочитайте файл README_APP.


Head

Примітка: Можна подивитися перелік усього, що може бути в <head> HTML документа.

Мета-теги

<!doctype html> <!-- HTML5 -->

Наступні 3 мета-тега (Charset, X-UA Compatible та Viewport) мають бути розташовані на самому початку <head>.

<!-- Задати кодування документа -->
<meta charset="utf-8">
<!-- Проінструктує Internet Explorer використовувати останній двигунець рендерингу -->
<meta http-equiv="x-ua-compatible" content="ie=edge">
<!-- Задати viewport для responsive дизайну -->
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<!-- Document Title -->
<title>Заголовок коротший за 55 символів</title>
<!-- Meta Description -->
<meta name="description" content="Опис сторінки коротший за 150 символів">
<!-- Стандартний favicon -->
<link rel="icon" type="image/x-icon" href="https://example.com/favicon.ico">
<!-- Рекомендований формат favicon -->
<link rel="icon" type="image/png" href="https://example.com/favicon.png">
<!-- Apple Touch Icon (не менше, ніж 200x200px) -->
<link rel="apple-touch-icon" href="/custom-icon.png">

<!-- Розгорнути веб-програму на повний екран -->
<meta name="apple-mobile-web-app-capable" content="yes">

<!-- Задає стиль для Статус бару (можливі значення дивись за посиланням Supported Meta Tags нижче) -->
<!-- Не має ефекту, якщо не прописано попередній тег -->
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<!-- Microsoft Tiles -->
<meta name="msapplication-config" content="browserconfig.xml" />

Мінімальний необхідний browserconfig.xml:

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
   <msapplication>
     <tile>
        <square70x70logo src="small.png"/>
        <square150x150logo src="medium.png"/>
        <wide310x150logo src="wide.png"/>
        <square310x310logo src="large.png"/>
     </tile>
   </msapplication>
</browserconfig>
<!-- Допомогає уникнути проблем з дубльованим контентом -->
<link rel="canonical" href="http://example.com/2017/09/a-new-article-to-red.html">

HTML теги

<html lang="en">
<html dir="rtl">
<link rel="alternate" href="https://es.example.com/" hreflang="es">

Соціальні мережі

Facebook OG і Twitter Cards вкрай рекомендовані для усіх сайтів. Додайте теги для інших соцмереж, якщо хочете, щоб посилання на ваш сайт відображалися в них коретно.

Примітка: Використовуйте og:image:width і og:image:height щоб вказати роздільну здатність для павука (the crawler) для того, щоб картинки могли бути відрендерені одразу ж, інакше знадобиться більше часу на асинхронне підвантаження і обробку.

<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/page.html">
<meta property="og:title" content="Мій сайт">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:description" content="Опис тут">
<meta property="og:site_name" content="MySite">
<meta property="og:locale" content="en_US">
<!-- Наступні теги не обов'язкові, але рекомендовані -->
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@site_account">
<meta name="twitter:creator" content="@individual_account">
<meta name="twitter:url" content="https://example.com/page.html">
<meta name="twitter:title" content="Content Title">
<meta name="twitter:description" content="Content description less than 200 characters">
<meta name="twitter:image" content="https://example.com/image.jpg">

⬆ нагору


HTML

Найкращі практики

Тестування HTML

⬆ нагору


Web-шрифти

Примітка: Використання web-шрифтів може викликати мерехтіння або зникнення тексту (FOUT — Flash of Unstyled Text, FOIT - Flash of Invisible Text). Тому переконайтесь, що заданий резервний шрифт, або використовуйте завантажувальник шрифтів щоб тримати ситуацію під контролем.

⬆ нагору


CSS

Примітка: Ознайомтесь з CSS guidelines и Sass Guidelines, яких притримуються більшість розробників. Якщо у вас є сумніви щодо CSS властивостей, відвідайте CSS Reference. Окрім цього погляньте на короткий гайд Code Guide.

<div id="js-slider" class="my-slider">
<!-- Або -->
<div id="id-used-by-cms" class="js-slider my-slider">

Продуктивність CSS

Тестування CSS

Pixel Perfect - Chrome Extension

⬆ нагору


Картинки

Примітка: Для повного розуміння оптимізації картинок прочитайте безкоштовну електронну книгу Essential Image Optimization от Addy Osmani.

Найкращі практики

⬆ нагору


JavaScript

Найкращі практики

<noscript>
  Для роботи додатка необхідно увімкнути JavaScript.
</noscript>

Тестування JavaScript

⬆ нагору


Безпека

Проскануйте і перевірте ваш веб-сайт

Найкращі практики

⬆ нагору


Продуктивність

Найкращі практики

Підготовка майбутніх запитів (preparing upcoming requests)

<link rel="dns-prefetch" href="https://example.com">
<link rel="preconnect" href="https://example.com">
<link rel="prefetch" href="image.png">
<link rel="preload" href="app.js">

Тестування продуктивності

⬆ нагору


Доступність

Примітка: Ознайомтесь з плейлистом A11ycasts with Rob Dodson 📹

Найкращі практики

Заголовки

ARIA landmarks

Семантика

Форми

Тестування доступності

⬆ нагору


SEO

<!-- Приклад: Pagination link tags для сторінки 2 з списку сторінок -->
<link rel="prev" href="https://example.com/?page=1">
<link rel="next" href="https://example.com/?page=3">

⬆ нагору


Переклад

Front-End Checklist також доступний іншими мовами. Дякуємо усім перекладачам за приголомшливу роботу!


Front-End Checklist Badge

Вставте цей бейдж у ваш файл README, якщо хочете показати, що слідуєте цьому чеклисту!

Front‑End_Checklist followed

[![Front‑End_Checklist followed](https://img.shields.io/badge/Front‑End_Checklist-followed-brightgreen.svg)](https://github.com/thedaviddias/Front-End-Checklist/)

⬆ нагору


Сприяння

Створіть issue чи pull request щоб запропонувати зміну чи доповнення

Керівництво

Репозиторій Front-End Checklist складається з двох гілок:

1. master

Ця гілка складаєтсья з файла README.md, який автоматично відображається на сайті Front-End Checklist.

2. develop

Ця гілка використовуватиметься для внесення значних змін в структуру чи контент. Для усунення дрібних помилок і створення нових елементів переважно використовувати гілку master.

Підтримка

Якщо у вас є питання чи побажання, без роздумів пишіть в Gitter або Twitter:

Автор

David Dias

Помічники

Проект існує завдяки допомозі спільноти. [Зробити внесок]. <a href="https://github.com/thedaviddias/Front-End-Checklist/graphs/contributors"><img src="https://opencollective.com/front-end-checklist/contributors.svg?width=890" /></a>

Прихильники

Дякую усім нашим прихильникам! 🙏 [Стати прихильником]

<a href="https://opencollective.com/front-end-checklist#backers" target="_blank"><img src="https://opencollective.com/front-end-checklist/backers.svg?width=890"></a>

Патрони

Підтримати цей проект ставши патроном. Ваш логотип буде відображатися тут з посиланням на ваш сайт. [Стати патроном]

<a href="https://opencollective.com/front-end-checklist/sponsor/0/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/0/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/1/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/1/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/2/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/2/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/3/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/3/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/4/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/4/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/5/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/5/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/6/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/6/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/7/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/7/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/8/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/8/avatar.svg"></a> <a href="https://opencollective.com/front-end-checklist/sponsor/9/website" target="_blank"><img src="https://opencollective.com/front-end-checklist/sponsor/9/avatar.svg"></a>

Ліцензія

CC0

⬆ нагору

Syncronized with commit 07b7ba6