ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Task IDCreated AtCompleted AtLast ModifiedName
Section/Column
AssigneeAssignee EmailStart DateDue DateTagsNotesProjectsParent Task
2
1200202947103845
2021-04-162021-04-16
Doctype: High The Doctype is HTML5
Head
Doctype: High The Doctype is HTML5 and is at the top of all your HTML pages.
<!doctype html> <!-- HTML5 -->
📖 https://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding
The next 2 meta tags (Charset and Viewport) need to come first in the head.
Front-End-Checklist Template
3
1200202947103847
2021-04-162021-04-16
Charset: [High] The charset (UTF-8) is declared correctly.
Head
<!-- Set character encoding for the document -->
<meta charset="utf-8">

Front-End-Checklist Template
4
1200202947103849
2021-04-162021-04-16
Viewport: [High ]The viewport is declared correctly.
Head
<!-- Viewport for responsive web design -->
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
Front-End-Checklist Template
5
1200202947103851
2021-04-162021-04-16
Title: [High] A title is used on all pages
Head
(SEO: Google calculates the pixel width of the characters used in the title, and it cuts off between 472 and 482 pixels. The average character limit would be around 55-characters).
<!-- Document Title --> <title>Page Title less than 55 characters</title>
📖 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title
🛠 https://www.sistrix.com/serp-snippet-generator/

Front-End-Checklist Template
6
1200202947103853
2021-04-162021-04-16
Description: [High] A meta description is provided
Head
 Description:  A meta description is provided, it is unique and doesn't possess more than 150 characters.
<!-- Meta Description --> <meta name="description" content="Description of the page less than 150 characters">
📖 https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML#Adding_an_author_and_description

Front-End-Checklist Template
7
1200202947103855
2021-04-162021-04-16
Favicons: [Medium] Each favicon has been created and displays correctly.
Head
Favicons:  Each favicon has been created and displays correctly. If you have only a 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">
🛠 https://www.favicon-generator.org/
🛠 https://realfavicongenerator.net/
📖 https://github.com/audreyr/favicon-cheat-sheet
📖 https://css-tricks.com/favicon-quiz/
📖 https://caniuse.com/#feat=link-icon-png

Front-End-Checklist Template
8
1200202947103857
2021-04-162021-04-16
Apple Web App Meta: [Low] Apple meta-tags are present.
Head
Apple Web App Meta:  Apple meta-tags are present.

<!-- Apple Touch Icon (at least 200x200px) -->
<link rel="apple-touch-icon" href="/custom-icon.png">
<!-- To run web application in full-screen -->
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Status Bar Style (see Supported Meta Tags below for available values) -->
<!-- Has no effect unless you have the previous meta tag -->
<meta name="apple-mobile-web-app-status-bar-style" content="black">

📖 https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
📖 https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
Front-End-Checklist Template
9
1200202947103859
2021-04-162021-04-16
Windows Tiles: [Low] Windows tiles are present and linked.
Head
<!-- Microsoft Tiles -->
<meta name="msapplication-config" content="browserconfig.xml" />

Minimum required xml markup for the browserconfig.xml file is as follows:

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

📖 https://msdn.microsoft.com/en-us/library/dn320426(v=vs.85).aspx

Front-End-Checklist Template
10
1200202947103861
2021-04-162021-04-16
Canonical:  Use rel="canonical" to avoid duplicate content.
Head
Canonical:  Use rel="canonical" to avoid duplicate content.

<!-- Helps prevent duplicate content issues -->
<link rel="canonical" href="http://example.com/2017/09/a-new-article-to-read.html">

📖 https://support.google.com/webmasters/answer/139066?hl=en
📖 https://webmasters.googleblog.com/2013/04/5-common-mistakes-with-relcanonical.html
Front-End-Checklist Template
11
1200202947103864
2021-04-162021-04-16
Language attribute: [High] The lang attribute of your website is specified
HTML tags
Language attribute:  The lang attribute of your website is specified and related to the language of the current page.

<html lang="en">
Front-End-Checklist Template
12
1200210019927865
2021-04-162021-04-16
Direction attribute: [Medium] The direction of lecture is specified on the html tag
HTML tags
Direction attribute:  The direction of lecture is specified on the html tag (It can be used on another HTML tag).

<html dir="rtl">

📖 https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir
Front-End-Checklist Template
13
1200210019927867
2021-04-162021-04-16
Alternate language: [Low] The language tag of your website is specified
HTML tags
Alternate language:  The language tag of your website is specified and related to the language of the current page.

<link rel="alternate" href="https://es.example.com/" hreflang="es">
Front-End-Checklist Template
14
1200210019927869
2021-04-162021-04-16
x-default: [Low] The language tag of your website for international landing pages.
HTML tags
x-default:  The language tag of your website for international landing pages.

<link rel="alternate" href="https://example.com/" hreflang="x-default" />

📖 https://webmasters.googleblog.com/2013/04/x-default-hreflang-for-international-pages.html
Front-End-Checklist Template
15
1200210019927871
2021-04-162021-04-16
Conditional comments: [Low] Conditional comments are present for IE if needed
HTML tags
Conditional comments:  Conditional comments are present for IE if needed.

📖 https://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx
Front-End-Checklist Template
16
1200210019927873
2021-04-162021-04-16
RSS feed: [Low] If your project is a blog
HTML tags
RSS feed:  If your project is a blog or has articles, an RSS link was provided.
Front-End-Checklist Template
17
1200210019927875
2021-04-162021-04-16
CSS Critical: [Medium] The CSS critical collects all the CSS used to render the visible portion of the page.
HTML tags
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).

🛠 https://github.com/addyosmani/critical automates this.
Front-End-Checklist Template
18
1200210019927877
2021-04-162021-04-16
CSS order: [High] All CSS files are loaded before any JavaScript files in the <head>.
HTML tags
CSS order:  All CSS files are loaded before any JavaScript files in the <head>. (Except the case where sometimes JS files are loaded asynchronously on top of your page).
Front-End-Checklist Template
19
1.20021E+152021-04-162021-04-16
Facebook Open Graph: [Low] All Facebook Open Graph (OG) are tested
Social meta
Facebook Open Graph:  All Facebook Open Graph (OG) are tested and no one is missing or with false information. Images need to be at least 600 x 315 pixels, although 1200 x 630 pixels is recommended.

Notes: Using og:image:width and og:image:height will specify the image dimensions to the crawler so that it can render the image immediately without having to asynchronously download and process it.

<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">
<!-- Next tags are optional but recommended -->
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">

📖 https://developers.facebook.com/docs/sharing/webmasters/
📖 https://developers.facebook.com/docs/sharing/best-practices/
🛠 Test your page with the https://developers.facebook.com/tools/debug/
Front-End-Checklist Template
20
1200210019927884
2021-04-162021-04-16Twitter Card:Social meta
Twitter Card: 

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

📖 https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started
🛠 Test your page with the https://cards-dev.twitter.com/validator
Front-End-Checklist Template
21
1200210019927887
2021-04-162021-04-16
HTML5 Semantic Elements: High HTML5 Semantic Elements
HTML
HTML5 Semantic Elements:  HTML5 Semantic Elements are used appropriately (header, section, footer, main...).

📖 http://htmlreference.io/
Front-End-Checklist Template
22
1200210019927889
2021-04-162021-04-16
Error pages: [High] Error 404 page
HTML
Error pages:  Error 404 page and 5xx exist. Remember that the 5xx error pages need to have their CSS integrated (no external call on the current server).
Front-End-Checklist Template
23
1200210019927891
2021-04-162021-04-16
Noopener: [Medium] In case you are using external links
HTML
Noopener:  In case you are using external links with target="_blank", your link should have a rel="noopener" attribute to prevent tab nabbing. If you need to support older versions of Firefox, use rel="noopener noreferrer".

📖 https://mathiasbynens.github.io/rel-noopener/
Front-End-Checklist Template
24
1200210019927895
2021-04-162021-04-16
Clean up comments: [Low] Unnecessary code
HTML
 Clean up comments:  Unnecessary code needs to be removed before sending the page to production.
Front-End-Checklist Template
25
1.20021E+152021-04-162021-04-16
W3C compliant: [High] All pages need to be tested
HTML testing
W3C compliant:  All pages need to be tested with the W3C validator to identify possible issues in the HTML code.

🛠 https://validator.w3.org/
Front-End-Checklist Template
26
1200210019927902
2021-04-162021-04-16
HTML Lint: [High] I use tools to help me analyze any issues
HTML testing
HTML Lint:  I use tools to help me analyze any issues I could have on my HTML code.

🛠 https://www.10bestdesign.com/dirtymarkup/
🛠 https://webhint.io/
Front-End-Checklist Template
27
1200210019927904
2021-04-162021-04-16
Link checker: [High] There are no broken links in my page
HTML testing
Link checker:  There are no broken links in my page, verify that you don't have any 404 error.

🛠 https://validator.w3.org/checklink
Front-End-Checklist Template
28
1200210019927906
2021-04-162021-04-16
Adblockers test: [Medium] Your website shows your content correctly
HTML testing
Adblockers test:  Your website shows your content correctly with adblockers enabled (You can provide a message encouraging people to disable their adblocker).

📖 https://andreicioara.com/use-adblocking-in-your-dev-environment-48db500d9b86
Front-End-Checklist Template
29
1200210019927909
2021-04-162021-04-16
Webfont format: [High] WOFF, WOFF2
Webfonts
Webfont format:  WOFF, WOFF2 and TTF are supported by all modern browsers.

📖 https://caniuse.com/#feat=woff.
📖 https://caniuse.com/#feat=woff2.
📖 https://caniuse.com/#feat=ttf
📖 https://css-tricks.com/snippets/css/using-font-face/
Front-End-Checklist Template
30
1200210019927911
2021-04-162021-04-16
Webfont size: [High] Webfont sizes don't exceed 2 MB
Webfonts
Webfont size:  Webfont sizes don't exceed 2 MB (all variants included).
Front-End-Checklist Template
31
1200210019927913
2021-04-162021-04-16
Webfont loader: [Low] Control loading behavior
Webfonts
Webfont loader:  Control loading behavior with a webfont loader

🛠 https://github.com/typekit/webfontloader
Front-End-Checklist Template
32
1200210019927918
2021-04-162021-04-16
Responsive Web Design: [High] The website is using responsive web design
CSS
Responsive Web Design:  The website is using responsive web design.
Front-End-Checklist Template
33
1.20021E+152021-04-162021-04-16
CSS Print: [Medium] A print stylesheet is provided
CSS
CSS Print:  A print stylesheet is provided and is correct on each page.
Front-End-Checklist Template
34
1200210019927922
2021-04-162021-04-16
Preprocessors: [Low] Your project is using a CSS preprocessor
CSS
 Preprocessors:  Your project is using a CSS preprocessor (e.g http://sass-lang.com/, http://lesscss.org/, http://stylus-lang.com/).
Front-End-Checklist Template
35
1200210019927924
2021-04-162021-04-16
Unique ID: [High] If IDs are used
CSS
 Unique ID:  If IDs are used, they are unique to a page.
Front-End-Checklist Template
36
1200210019927926
2021-04-162021-04-16
Reset CSS: [High] A CSS reset
CSS
 Reset CSS:  A CSS reset (reset, normalize or reboot) is used and up to date. (If you are using a CSS Framework like Bootstrap or Foundation, a Normalize is already included into it.)

📖 https://meyerweb.com/eric/tools/css/reset/
📖 https://necolas.github.io/normalize.css/
📖 https://getbootstrap.com/docs/4.0/content/reboot/
Front-End-Checklist Template
37
1200210019927928
2021-04-162021-04-16
JS prefix: [Low] All classes begin with js
CSS
 JS prefix:  All classes (or id- used in JavaScript files) begin with js- and are not styled into the CSS files.

<div id="js-slider" class="my-slider">
<!-- Or -->
<div id="id-used-by-cms" class="js-slider my-slider">
Front-End-Checklist Template
38
1.20021E+152021-04-162021-04-16
embedded or inline CSS: [High] Avoid at all cost embedding CSS
CSS
embedded or inline CSS:  Avoid at all cost embedding CSS in <style> tags or using inline CSS: only use for valid reasons (e.g. background-image for slider, critical CSS).
Front-End-Checklist Template
39
1200210019927932
2021-04-162021-04-16
Vendor prefixes: [High] CSS vendor prefixes
CSS
Vendor prefixes:  CSS vendor prefixes are used and are generated accordingly with your browser support compatibility.

🛠 https://autoprefixer.github.io/
Front-End-Checklist Template
40
1200210019927935
2021-04-162021-04-16
Concatenation: [High] CSS files
Performance
Concatenation:  CSS files are concatenated in a single file (Not for HTTP/2).
Front-End-Checklist Template
41
1200210019927937
2021-04-162021-04-16
Minification: [High] All CSS files
Performance
 Minification:  All CSS files are minified.
Front-End-Checklist Template
42
1200210019927939
2021-04-162021-04-16
Non-blocking: [Medium] CSS files need to be non-blocking
Performance
Non-blocking:  CSS files need to be non-blocking to prevent the DOM from taking time to load.

📖 https://github.com/filamentgroup/loadCSS
📖 https://gist.github.com/thedaviddias/c24763b82b9991e53928e66a0bafc9bf
Front-End-Checklist Template
43
1200210019927941
2021-04-162021-04-16
Unused CSS: [Low] Remove unused CSS
Performance
Unused CSS:  Remove unused CSS.

🛠 https://uncss-online.com/
🛠 https://github.com/purifycss/purifycss
🛠 https://github.com/FullHuman/purgecss
🛠 https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage
Front-End-Checklist Template
44
1200210019927944
2021-04-162021-04-16
Stylelint: [High] All CSS
CSS testing
Stylelint:  All CSS or SCSS files are without any errors.

🛠 https://stylelint.io/
📖 https://sass-guidelin.es/
Front-End-Checklist Template
45
1200210019927946
2021-04-162021-04-16
Responsive web design: [High] All pages were tested at the following breakpoints
CSS testing
Responsive web design:  All pages were tested at the following breakpoints: 320px, 768px, 1024px (can be more / different according to your analytics). Responsive Checker -

🛠 http://ami.responsivedesign.is/
🛠 https://search.google.com/test/mobile-friendly
🛠 https://responsivedesignchecker.com/
🛠 https://www.responsinator.com/
🛠 https://xrespond.com/
Front-End-Checklist Template
46
1200210019927948
2021-04-162021-04-16
CSS Validator: [Medium] The CSS was tested
CSS testing
 CSS Validator:  The CSS was tested and pertinent errors were corrected.

🛠 https://jigsaw.w3.org/css-validator/
Front-End-Checklist Template
47
1.20021E+152021-04-162021-04-16
Desktop Browsers: [High] All pages were tested
CSS testing
 Desktop Browsers:  All pages were tested on all current desktop browsers (Safari, Firefox, Chrome, Internet Explorer, EDGE...).
Front-End-Checklist Template
48
1200210019927952
2021-04-162021-04-16
Mobile Browsers: [High] All pages were tested
CSS testing
Mobile Browsers:  All pages were tested on all current mobile browsers (Native browser, Chrome, Safari...).
Front-End-Checklist Template
49
1200210019927954
2021-04-162021-04-16
OS: [High] All pages were tested
CSS testing
 OS:  All pages were tested on all current OS (Windows, Android, iOS, Mac...).
Front-End-Checklist Template
50
1200210019927956
2021-04-162021-04-16
Design fidelity: [Low] Depending on the project
CSS testing
Design fidelity:  Depending on the project and the quality of the creatives, you may be asked to be close to the design. You can use some tools to compare creatives with your code implementation and ensure consistency.

https://chrome.google.com/webstore/detail/perfectpixel-by-welldonec/dkaagdgjmgdmbnecmcefdhjekcoceebi?hl=en
Front-End-Checklist Template
51
1200210019927958
2021-04-162021-04-17
Reading direction: [High] All pages need to be tested for LTR
CSS testing
Reading direction:  All pages need to be tested for LTR and RTL languages if they need to be supported.

📖 https://hacks.mozilla.org/2015/09/building-rtl-aware-web-apps-and-websites-part-1/
📖 https://hacks.mozilla.org/2015/10/building-rtl-aware-web-apps-websites-part-2/
Front-End-Checklist Template
52
1200210019927961
2021-04-172021-04-17
Optimization: [High] All images are optimized
Images
Optimization:  All images are optimized to be rendered in the browser. WebP format could be used for critical pages (like Homepage).

🛠 https://github.com/imagemin/imagemin
🛠 Use https://imageoptim.com/ to optimise your images for free.
🛠 Use https://www.keycdn.com/support/image-processing for image optimization in real time.
🛠 Use https://kraken.io/web-interface awesome alternative for both png and jpg optimization. Up to 1mb per files on free plan.
🛠 https://tinypng.com/ losslessly optimises png, apng (animated png) and jpg images. Free and paid version available.
🛠 http://quasimondo.com/ZorroSVG/ jpg-like compression for transparent images using svg masking.
🛠 https://github.com/svg/svgo a Nodejs-based tool for optimizing SVG vector graphics files.
🛠 https://jakearchibald.github.io/svgomg/ a web-based GUI version of SVGO for optimising your svgs online.
Front-End-Checklist Template
53
1200210019927963
2021-04-172021-04-17
Picture/Srcset: [Medium] You use picture/srcset
Images
Picture/Srcset:  You use picture/srcset to provide the most appropriate image for the current viewport of the user.

📖 https://www.sitepoint.com/how-to-build-responsive-images-with-srcset/
Front-End-Checklist Template
54
1200210019927965
2021-04-172021-04-17
Retina: [Low] You provide layout images 2x
Images
Retina:  You provide layout images 2x or 3x, support retina display.
Front-End-Checklist Template
55
1200210019927967
2021-04-172021-04-17
Sprite: [Medium] Small images are in a sprite file
Images
Sprite:  Small images are in a sprite file (in the case of icons, they can be in an SVG sprite image).
Front-End-Checklist Template
56
1200210019927969
2021-04-172021-04-17
Width and Height: [High] Set width and height attributes
Images
Width and Height:  Set width and height attributes on <img> if the final rendered image size is known (can be omitted for CSS sizing).
Front-End-Checklist Template
57
1200210019927971
2021-04-172021-04-17
Alternative text: [High] All <img> have an alternative text
Images
Alternative text:  All <img> have an alternative text which describes the image visually.

📖 https://axesslab.com/alt-texts/
Front-End-Checklist Template
58
1200210019927973
2021-04-172021-04-17
Lazy loading: [Medium] Images are lazyloaded
Images
Lazy loading:  Images are lazyloaded (A noscript fallback is always provided).

🛠 https://github.com/mfranzke/loading-attribute-polyfill/
Front-End-Checklist Template
59
1200210019927976
2021-04-172021-04-17
JavaScript Inline: [High] You don't have any JavaScript code inline
JavaScript
JavaScript Inline:  You don't have any JavaScript code inline (mixed with your HTML code).
Front-End-Checklist Template
60
1200210019927978
2021-04-172021-04-17
Concatenation: [High] JavaScript files
JavaScript
 Concatenation:  JavaScript files are concatenated.
Front-End-Checklist Template
61
1.20021E+152021-04-172021-04-17
Minification: High JavaScript files
JavaScript
 Minification:  JavaScript files are minified (you can add the .min suffix).

📖 https://developers.google.com/speed/docs/insights/MinifyResources
Front-End-Checklist Template
62
1200210019927982
2021-04-172021-04-17
JavaScript security: [High]
JavaScript
 JavaScript security: 

📖 https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet#Guidelines_for_Developing_Secure_Applications_Utilizing_JavaScript
Front-End-Checklist Template
63
1200210019927984
2021-04-172021-04-17
noscript tag: [Medium] Use <noscript> tag
JavaScript
noscript tag:  Use <noscript> tag in the HTML body if a script type on the page is unsupported or if scripting is currently turned off in the browser. This will be helpful in client-side rendering heavy apps such as React.js, see https://webdesign.tutsplus.com/tutorials/quick-tip-dont-forget-the-noscript-element--cms-25498.

<noscript>
You need to enable JavaScript to run this app.
</noscript>
Front-End-Checklist Template
64
1200210019927986
2021-04-172021-04-17
Non-blocking: [Medium] JavaScript files
JavaScript
Non-blocking:  JavaScript files are loaded asynchronously using async or deferred using defer attribute.

📖 https://developers.google.com/speed/docs/insights/BlockingJS
Front-End-Checklist Template
65
1200210019927988
2021-04-172021-04-17
Optimized and updated JS libraries: [Medium] All JavaScript libraries used
JavaScript
Optimized and updated JS libraries:  All JavaScript libraries used in your project are necessary (prefer Vanilla Javascript for simple functionalities), updated to their latest version and don't overwhelm your JavaScript with unnecessary methods.

📖 http://youmightnotneedjquery.com/
📖 https://plainjs.com/
Front-End-Checklist Template
66
1.20021E+152021-04-172021-04-17
Modernizr: [Low] If you need to target some specific features
JavaScript
 Modernizr:  If you need to target some specific features you can use a custom Modernizr to add classes in your <html> tag.

🛠 https://modernizr.com/download?setclasses
Front-End-Checklist Template
67
1200210019927993
2021-04-172021-04-17
ESLint: High No errors
JavaScript testing
ESLint:  No errors are flagged by ESLint (based on your configuration or standards rules).

📖 https://eslint.org/
Front-End-Checklist Template
68
1200210019927996
2021-04-172021-04-17
HTTPS: High HTTPS is used on every page
Security
HTTPS:  HTTPS is used on every page and for all external content (plugins, images...).

🛠 https://letsencrypt.org/
🛠 https://www.ssllabs.com/ssltest/index.html
📖 http://caniuse.com/#feat=stricttransportsecurity
Front-End-Checklist Template
69
1200210019927998
2021-04-172021-04-17
HTTP Strict Transport Security (HSTS): [Medium] The HTTP header is set to 'Strict-Transport-Security'
Security
 HTTP Strict Transport Security (HSTS):  The HTTP header is set to 'Strict-Transport-Security'.

🛠 https://hstspreload.org/
📖 https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.html
📖 https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protection_Cheat_Sheet.html
Front-End-Checklist Template
70
1.20021E+152021-04-172021-04-17
Cross Site Request Forgery (CSRF): [High] You ensure that requests made
Security
Cross Site Request Forgery (CSRF):  You ensure that requests made to your server-side are legitimate and originate from your website / app to prevent CSRF attacks.

📖 https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html
Front-End-Checklist Template
71
1200210019928002
2021-04-172021-04-17
Cross Site Scripting (XSS): [High] Website is free from XSS possible issues.
Security
 Cross Site Scripting (XSS):  Your page or website is free from XSS possible issues.

📖 https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
📖 https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html
Front-End-Checklist Template
72
1200210019928004
2021-04-172021-04-17
Content Type Options: [Medium] Prevents Google Chrome
Security
 Content Type Options:  Prevents Google Chrome and Internet Explorer from trying to mime-sniff the content-type of a response away from the one being declared by the server.

📖 https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options
Front-End-Checklist Template
73
1200210019928006
2021-04-172021-04-17
X-Frame-Options (XFO): [Medium] Protects your visitors against clickjacking attacks
Security
 X-Frame-Options (XFO):  Protects your visitors against clickjacking attacks.

📖 https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options
📖 https://tools.ietf.org/html/rfc7034
Front-End-Checklist Template
74
1200210019928008
2021-04-172021-04-17
Content Security Policy: [Medium] Defines how content is loaded on your site
Security
Content Security Policy:  Defines how content is loaded on your site and from where it is permitted to be loaded. Can also be used to protect against clickjacking attacks.

📖 https://scotthelme.co.uk/content-security-policy-an-introduction/
📖 https://scotthelme.co.uk/csp-cheat-sheet/
📖 https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html
📖 https://content-security-policy.com/
Front-End-Checklist Template
75
1200210019928011
2021-04-172021-04-17
Goals to achieve: [Medium] Your pages should reach these goals:
Performance
Goals to achieve:  Your pages should reach these goals:
First Meaningful Paint under 1 second
Time To Interactive under 5 seconds for the "average" configuration (a $200 Android on a slow 3G network with 400ms RTT and 400kbps transfer speed) and under 2 seconds for repeat visits
Critical file size under 170Kb gzipped

🛠 https://tools.pingdom.com/
🛠 https://www.webpagetest.org/
📖 https://evilmartians.com/chronicles/size-limit-make-the-web-lighter
Front-End-Checklist Template
76
1200210019928013
2021-04-172021-04-17
Minified HTML: [Medium] Your HTML is minified
Performance
Minified HTML:  Your HTML is minified.
Front-End-Checklist Template
77
1200210019928015
2021-04-172021-04-17
Lazy loading: Medium Images, scripts and CSS need to be lazy
Performance
Lazy loading:  Images, scripts and CSS need to be lazy loaded to improve the response time of the current page (See details in their respective sections).
Front-End-Checklist Template
78
1200210019928017
2021-04-172021-04-17
Cookie size: [Medium] If you are using cookies be sure each cookie doesn't exceed 4096 bytes
Performance
 Cookie size:  If you are using cookies be sure each cookie doesn't exceed 4096 bytes and your domain name doesn't have more than 20 cookies.

📖 https://tools.ietf.org/html/rfc6265
📖 https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
🛠 http://browsercookielimits.squawky.net/
Front-End-Checklist Template
79
1200210019928019
2021-04-172021-04-17
Third party components: [Medium] Third party iframes
Performance
 Third party components:  Third party iframes or components relying on external JS (like sharing buttons) are replaced by static components when possible, thus limiting calls to external APIs and keeping your user's activity private.

🛠 https://simplesharingbuttons.com/
Front-End-Checklist Template
80
1200210019928022
2021-04-172021-04-17
DNS resolution: [Low] DNS of third-party services
Preparing upcoming requests
DNS resolution:  DNS of third-party services that may be needed are resolved in advance during idle time using dns-prefetch.

<link rel="dns-prefetch" href="https://example.com">
Front-End-Checklist Template
81
1200210019928024
2021-04-172021-04-17
Preconnection: [Low] DNS lookup
Preparing upcoming requests
Preconnection:  DNS lookup, TCP handshake and TLS negotiation with services that will be needed soon is done in advance during idle time using preconnect.

<link rel="preconnect" href="https://example.com">
Front-End-Checklist Template
82
1200210019928026
2021-04-172021-04-17
Prefetching: [Low] Resources that will be needed soon
Preparing upcoming requests
Prefetching:  Resources that will be needed soon (e.g. lazy loaded images) are requested in advance during idle time using prefetch.

<link rel="prefetch" href="image.png">
Front-End-Checklist Template
83
1200210019928028
2021-04-172021-04-17
Preloading: [Low] Resources needed in the current page
Preparing upcoming requests
Preloading:  Resources needed in the current page (e.g. scripts placed at the end of <body>) in advance using preload.

<link rel="preload" href="app.js">

📖 https://medium.com/reloading/preload-prefetch-and-priorities-in-chrome-776165961bbf
Front-End-Checklist Template
84
1200210019928031
2021-04-172021-04-17
Google PageSpeed: ]High] All your pages were tested
Performance testing
Google PageSpeed:  All your pages were tested (not only the homepage) and have a score of at least 90/100.

🛠 https://developers.google.com/speed/pagespeed/insights/
🛠 https://testmysite.withgoogle.com/
🛠 https://www.webpagetest.org/
🛠 https://gtmetrix.com/
🛠 https://speedrank.app/
Front-End-Checklist Template
85
1200210019928034
2021-04-172021-04-17
Progressive enhancement: ]Medium] Major functionality
Accessibility
Progressive enhancement:  Major functionality like main navigation and search should work without JavaScript enabled.

📖 https://www.youtube.com/watch?v=kBmvq2cE0D8
Front-End-Checklist Template
86
1200210019928036
2021-04-172021-04-17
Color contrast: [Medium] Color contrast
Accessibility
Color contrast:  Color contrast should at least pass WCAG AA (AAA for mobile).

🛠 https://leaverou.github.io/contrast-ratio/
Front-End-Checklist Template
87
1200210019928039
2021-04-172021-04-17
H1: [High] All pages have an H1
Headings
 H1:  All pages have an H1 which is not the title of the website.
Front-End-Checklist Template
88
1200210019928041
2021-04-172021-04-17
Headings: [High] Headings should be used properly
Headings
 Headings:  Headings should be used properly and in the right order (H1 to H6).

📹 https://www.youtube.com/watch?v=vAAzdi1xuUY&index=9&list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g
Front-End-Checklist Template
89
1200210019928044
2021-04-172021-04-17
Specific HTML5 input types are used: [Medium] This is especially important for mobile devices
Semantics
Specific HTML5 input types are used:  This is especially important for mobile devices that show customized keypads and widgets for different types.

📖 http://mobileinputtypes.com/
Front-End-Checklist Template
90
1200210019928047
2021-04-172021-04-17
Label: [High] A label is associated
Form
Label:  A label is associated with each input form element. In case a label can't be displayed, use aria-label instead.

📖 https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute
Front-End-Checklist Template
91
1.20021E+152021-04-172021-04-17
Accessibility standards testing: [High] Use the WAVE tool to test
Accessibility testing
 Accessibility standards testing:  Use the WAVE tool to test if your page respects the accessibility standards.

🛠 http://wave.webaim.org/
Front-End-Checklist Template
92
1200210019928052
2021-04-172021-04-17
Keyboard navigation: [High] Test your website using only your keyboard
Accessibility testing
Keyboard navigation:  Test your website using only your keyboard in a previsible order. All interactive elements are reachable and usable.
Front-End-Checklist Template
93
1200210019928054
2021-04-172021-04-17
Screen-reader: [Medium] All pages were tested
Accessibility testing
 Screen-reader:  All pages were tested in a screen-reader (VoiceOver, ChromeVox, NVDA or Lynx).
Front-End-Checklist Template
94
1200210019928056
2021-04-172021-04-17
Focus style: [High] If the focus is disabled
Accessibility testing
Focus style:  If the focus is disabled, it is replaced by visible state in CSS.

📹 https://www.youtube.com/watch?v=srLRSQg6Jgg&index=5&list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g
Front-End-Checklist Template
95
1200210019928059
2021-04-172021-04-17
Google Analytics: [Low] Google Analytics is installed
SEO
 Google Analytics:  Google Analytics is installed and correctly configured.

🛠 https://analytics.google.com/analytics/web/
🛠 http://www.gachecker.com/
Front-End-Checklist Template
96
1200210019928061
2021-04-172021-04-17
Search Console: [Low] Search Console
SEO
Search Console:  Search Console is installed and correctly configured. It is a free service offered by Google that helps you monitor, maintain, and troubleshoot your site's presence in Google Search results.

🛠 https://search.google.com/search-console/about
Front-End-Checklist Template
97
1200210019928063
2021-04-172021-04-17
Headings logic: [Medium] Heading text helps to understand
SEO
Headings logic:  Heading text helps to understand the content in the current page.

🛠 http://khan.github.io/tota11y/#Try-it
Front-End-Checklist Template
98
1200210019928065
2021-04-172021-04-17
sitemap.xml: [High] A sitemap.xml exists
SEO
sitemap.xml:  A sitemap.xml exists and was submitted to Google Search Console (previously Google Webmaster Tools).

🛠 https://websiteseochecker.com/html-sitemap-generator/
Front-End-Checklist Template
99
1200210019928067
2021-04-172021-04-17
robots.txt: [High] The robots.txt
SEO
robots.txt:  The robots.txt is not blocking webpages.

📖 https://varvy.com/robottxt.html
🛠 Test your robots.txt with https://www.google.com/webmasters/tools/robots-testing-tool
Front-End-Checklist Template
100
1200210019928069
2021-04-172021-04-17
Structured Data: [High] Pages using structured data are tested
SEO
Structured Data:  Pages using structured data are tested and are without errors. Structured data helps crawlers understand the content in the current page.

📖 https://developers.google.com/search/docs/guides/intro-structured-data
📖 https://json-ld.org/
📖 https://www.w3.org/TR/microdata/
🛠 Test your page with the https://search.google.com/test/rich-results
🛠 Complete list of vocabularies that can be used as structured data. http://schema.org/docs/full.html
Front-End-Checklist Template