thedaviddias / Front-End-Checklist
- пятница, 20 октября 2017 г. в 03:14:13
🗂 The perfect Front-End Checklist for modern websites and meticulous developers
The Front-End Checklist is an exhaustive list of all elements you need to have / to test before launching your site / page HTML to production.
It is based on Front-End developers' years of experience, with the addition from some other open-source checklists.
All items in the Front-End Checklist are required for the majority of the projects, but some elements can be omitted or not essential (in case of an administration web app, you may not need RSS feed for example). We choose to use 3 levels of flexibility:
Some resources possess an emoticon to help you understand which type of content / help you may find on the checklist:
Notes: You can find a list of everything that could be found in the
<head>
of an HTML document.
<!-- Doctype HTML5 -->
<!DOCTYPE html>
The next 3 meta tags (Charset, X-UA Compatible and Viewport) need to come first in the head.
<!-- Set character encoding for the document -->
<meta charset="utf-8">
<!-- Instruct Internet Explorer to use its latest rendering engine -->
<meta http-equiv="x-ua-compatible" content="ie=edge">
<!-- Viewport for responsive web design -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Document Title -->
<title>Page Title less than 65 characters</title>
<!-- Meta Description -->
<meta name="description" content="Description of the page less than 150 characters">
favicon.ico
, put it at the root of your site. Normally you won't need to use any markup. However, it's still good practice to link to it using the example below. Today, PNG format is recommended over .ico
format (dimensions: 32x32px)<!-- Standard favicon -->
<link rel="icon" type="image/x-icon" href="https://example.com/favicon.ico" />
<!-- Recommended favicon format -->
<link rel="icon" type="image/png" href="https://example.com/favicon.png" />
<!-- Apple Touch Icon -->
<link rel="apple-touch-icon" href="/custom-icon.png">
<!-- Helps prevent duplicate content issues -->
<link rel="canonical" href="http://example.com/2017/09/a-new-article-to-red.html">
<html lang="en">
<html dir="rtl">
<link rel="alternate" href="https://es.example.com/" hreflang="es">
📖 About conditional comments (Internet Explorer) - MSDN - Microsoft
RSS feed: If your project is a blog or has articles, an RSS link was provided.
CSS Critical: The CSS critical (or "above the fold") collects all the CSS used to render the visible portion of the page. It is embedded before your principal CSS call and between
<style></style>
in a single line (minified).
<head>
. (Except the case, where sometimes JS files are loaded asynchronously on top of your page).Facebook OG and Twitter Cards are, for any website, highly recommended. The other social media tags can be considered if you target a particular presence on those and want to ensure the display.
<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/page.html">
<meta property="og:title" content="Content Title">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:description" content="Description Here">
<meta property="og:site_name" content="Site Name">
<meta property="og:locale" content="en_US">
📖 A Guide to Sharing for Webmasters🛠 Test your page with the Facebook OG testing
<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">
📖 Getting started with cards — Twitter Developers🛠 Test your page with the Twitter card validator
target="_blank"
on your links, rel="noreferrer noopener"
is present on the <img>
.Desktop Browsers: All pages were tested on all current desktop browsers (Safari, Firefox, Chrome, Internet Explorer, EDGE...).
Mobile Browsers: All pages were tested on all current mobile browsers (Native browser, Chrome, Safari...).
Link checker: There are no broken links in my page, verify that you don't have any 404 error.
Notes: Take a look on CSS guidelines and Sass Guidelines followed by most Front-End developers. If you have a doubt on CSS properties, you can visit CSS Reference.
<div id="js-slider" class="my-slider">
<!-- Or -->
<div id="id-used-by-cms" class="js-slider my-slider">
Responsive web design: All pages were tested at the following breakpoints: 320px, 768px, 1024px (can be more / different according to your analytics).
CSS Validator: The CSS was tested and pertinent errors were corrected.
Notes: For a complete understanding of image optimization, check the free ebook Essential Image Optimization from Addy Osmani.
🛠 Imagemin🛠 Use ImageOptim to optimise your images for free.
<img>
have height and width set (Don't specify px or %).Note: Lots of developers assume that width and height are not compatible with responsive web design. It's absolutely not the case.
<img>
have an alternative text which describe the image visually..min
suffix).async
or deferred using defer
attribute.<html>
tag.Notes: You can watch the playlist A11ycasts with Rob Dodson
📹
📹 Why headings and landmarks are so important -- A11ycasts #18
<header>
has role="banner"
<nav>
has role="navigation"
<main>
has role="main"
aria-label
instead.
📖 Introduction to Structured Data | Search | Google Developers🛠 Test your page with the Structured Data Testing Tool
Open an issue or a pull request to suggest changes or additions.
The Front-End Checklist repository consists of two branches:
master
This branch consists of the README.md
file that is automatically reflected on the Front-End Checklist website.
develop
This branch will be used to make some significant changes to the structure, content if needed. It is preferable to use the master branch to fix small errors or add a new item.
Check out all the super awesome contributors.
David Dias, Geoffrey Signorato, Sandeep Ramgolam and Cédric Poilly.