📜 ⬆️ ⬇️

Front End Developer Checklist

Gleb Letushov, a freelance editor , has adapted a checklist with David Dias's Github for the Netology blog. This checklist has already been translated, but since it is not on Habré, we decided that it would be useful. The checklist contains a complete list of items that need to be checked before launching and publishing the site.



The list is based on years of experience of front-end developers, and add-ons are compiled from publicly available sources.
')

Content


  1. Head
  2. HTML
  3. Fonts
  4. CSS
  5. Images
  6. Javascript
  7. Security
  8. Performance
  9. Availability
  10. SEO

How to use


All checklist items are required for most projects, but sometimes some of them can be omitted. For example, in the case of a administration web app, RSS is not useful.

Head


A list of elements from the Head section of an HTML document can be found on GitHub .

Meta tags



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

W3C HTML5 page encoding definition .

The following three meta tags (Charset, X-UA Compatible and Viewport) must be placed on the top of the page immediately after the doctype:


 <!--     --> <meta charset="utf-8"> 


 <!--  Internet Explorer       --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <a href="https://msdn.microsoft.com/en-us/library/jj676915%28v=vs.85%29.aspx"> 

Determine the display of pages for Internet Explorer .


 <!--   Viewport     --> <meta name="viewport" content="width=device-width, initial-s cale=1"> 


 <!--   Title --> <title>   65 </title> 

The Title tag in the HTML document is MDN .
SERP Snippet Generator - creating a site description that Google will show on the search results page (for English text) .


 <!--  Description --> <meta name="description" content="     150 "> 

Description tag in HTML document - MDN .


 <!--   --> <link rel="icon" type="image/x-icon" href="https://example.com/favicon.ico"> <!--    --> <link rel="icon" type="image/png" href="https://example.com/favicon.png"> 

Favicon Generator - creating a favicon.
RealFaviconGenerator .
Guide on favicon on github .
Favicons, Touch Icons, Tile Icons, etc. Which do you need? - CSS Tricks .
PNG favicons - caniuse .


 <!-- Apple Touch Icon --> <link rel="apple-touch-icon" href="/custom-icon.png"> 

Configuring Web Applications .


 <!-- Microsoft Tiles -->Browser configuration schema reference <meta name="msapplication-config" content="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> 

Browser configuration schema reference .


 <!--       --> <link rel="canonical" href="http://example.com/2017/09/a-new-article-to-red.html"> 

Use canonical URLs - Search Console Help - Google Support .
5 common mistakes with rel = canonical - Google Webmaster Blog .

HTML tags



 <html lang="ru"> 


 <html dir="rtl"> 

dir - HTML - MDN .


 <link rel="alternate" href="https://es.example.com/" hreflang="es"> 


 <!–[if IE]>    Internet Explorer <![endif]–> 

About conditional comments (Internet Explorer) - MSDN - Microsoft .


Critical by Addy Osmani on Github - automates the creation of critical CSS.


Meta tags for social networks


It is advisable to add basic Facebook and Twitter meta tags to any website . Remaining tags can be added if necessary .


 <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 .
Check page with validator Facebook OG .


 <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="   200 "> <meta name="twitter:image" content="https://example.com/image.jpg"> 

Getting started with cards - Twitter Developers .
Check website using Twitter card validator .

HTML



HTML Reference is a handy instruction on HTML .


About rel = noopener .


HTML Testing



W3C validator .


Dirty markup .


W3C Link Checker .

Fonts



WOFF - Web Open Font Format - Caniuse .
WOFF 2.0 - Web Open Font Format - Caniuse .
TTF / OTF - TrueType and OpenType font support .
Using @ font-face - CSS-Tricks .


CSS


Read the CSS guide and the Sass guide , many leading front-end developers follow the rules described in these guides. If there are additional questions on CSS, the answers can be found on the CSS Reference .


Reset.css .
Normalize.css .
Reboot


 <div id="js-slider" class="my-slider"> <!-- Or --> <div id="id-used-by-cms" class="js-slider my-slider"> 


-webkit - Chrome and Safari,
-o - Opera;
-ms - Internet Explorer;
-moz - Mozilla.

Autoprefixer CSS online .

Performance



loadCSS by filament group .
Example of preload CSS using loadCSS .


UnCSS Online .
PurifyCSS .
Chrome DevTools Coverage .

CSS testing



stylelint, a CSS linter .
Sass guidelines .


CSS Validator .


Pixel Perfect - Chrome Extension .


Building RTL-Aware Web Apps & Websites: Part 1 - Mozilla Hacks .
Building RTL-Aware Web Apps & Websites: Part 2 - Mozilla Hacks .

Images


To understand image optimization, check out Essential Image Optimization (in English) by Addy Osmani.


Imagemin .
Free image optimization is possible using ImageOptim .


How to Build Responsive Images with srcset .


 <img alt=' '> 

Alt-texts: The Ultimate Guide .


Javascript



Minify Resources (HTML, CSS, and JavaScript) .


Guidelines for Developing Secure Applications Utilizing JavaScript .


Remove Render-Blocking JavaScript .


Modernizr .

Javascript testing



ESLint - The pluggable utility for javascript and jsx .

Security


Check out the site


securityheaders.io - checks HTTP security headers.
Observatory by Mozilla - Indicates a weak point in security.
ASafaWeb - Automated Security Analyzer for ASP.NET Websites .


Let's Encrypt - Free SSL / TLS Certificates .
Free SSL Server Test .
Strict Transport Security .


Check HSTS preload status and eligibility .
HTTP Strict Transport Security Cheat Sheet - OWASP .
Transport Layer Protection Cheat Sheet - OWASP .


Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet - OWASP .


XSS (Cross Site Scripting) Prevention Cheat Sheet - OWASP .
DOM based XSS Prevention Cheat Sheet - OWASP .


X-Content-Type-Options - Scott Helme .


X-Frame-Options - Scott Helme .
RFC7034 - HTTP Header Field X-Frame-Options .

Performance



Website Page Analysis .
Size Limit: Make the Web lighter .


W3C Validator .


Cookie specification: RFC 6265 .
Cookies
Browser Cookie Limits .


Simple sharing buttons generator

Requests


Explanation of the following techniques .


 <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"> 

Difference between prefetch and preload .

Performance testing



Google PageSpeed .
Test your mobile speed with Google .
WebPagetest - Website Performance and Optimization Test .

Availability


View A11ycasts playlists with Rob Dodson (English).


Enable / Disable JavaScript in Chrome Developer Tools .


Contrast ratio .

Headlines



Why headings and landmarks are so important - A11ycasts # 18 .

Landmarks



Using ARIA landmarks to identify regions of a page .

Semantics



Mobile Input Types .

Forms



Using the aria-label attribute - MDN .

Availability testing



Wave testing .


Managing Focus - A11ycasts # 22 .

SEO



Check robots.txt using the Google Robots Testing Tool .


Introduction to Structured Data - Search - Google Developers .
Test the site using the Structured Data Testing Tool .
A full list of classes for structuring data can be found at Schema.org .


Sitemap guidelines - Google Support .
Sitemap generator .

From the Editor


Online courses Netology on the topic:

Source: https://habr.com/ru/post/347740/


All Articles