Home

Awesome

前端開發者清單

作者自己有提供互動網頁模式的版本: https://frontendchecklist.io 如果您對這份清單有興趣,可以到譯者我寫的 front-end climbing 看看。

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

前端開發者清單 是一份詳細的清單,用來檢查你的網站或網頁公布前所有應該完成的項目。 這份清單基於我多年的前端工程師工作經驗,以及其他公開的清單資源製作。

在 Product Hunt 上投票與推薦,協助我們將 Front-End Checklist 分享出去

目錄

  1. Head
  2. HTML
  3. Webfonts
  4. CSS
  5. Images
  6. JavaScript
  7. Security
  8. Performance
  9. Accessibility
  10. SEO

使用方式

前端開發者清單中的所有項目皆來是大多數專案的需求,針對你的專案時,還是會有某些項目用不到、可以忽略(例如,在行政用途的網頁 APP 中,你可能不需要 RSS 的訂閱功能)。我們依照可以調動的靈活性區分為三個等級:

某些資源有標示符號,協助你瞭解在清單中找到的內容或協助的類型:


Head

補充: 這有一份列表可以找到 HTML 檔案中<head>裡面可能含有的所有東西。

Meta 標籤

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

📖 決定字符編碼 - HTML5 W3C

接下來三個 mata 標籤(Charset、X-UA Compatible 和 Viewport)需要先講解。

<!-- 為文件設定字符編碼 -->
<meta charset="utf-8">
<!-- 教導 Internet Explorer 使用最新的渲染引擎 -->
<meta http-equiv="x-ua-compatible" content="ie=edge">

📖 指定文件的繼承模式 (Internet Explorer)

<!-- Viewport 用在響應式網頁設計 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 檔案標題 -->
<title>Page Title less than 65 characters</title>
<!-- Meta Description -->
<meta name="description" content="Description of the page less than 150 characters">
<!-- 一般的 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">
<!-- 蘋果手機觸控按鈕 -->
<link rel="apple-touch-icon" href="/custom-icon.png">

📖 搞懂網頁應用程式

<!-- Microsoft Titles -->
<meta name="msapplication-config" content="browserconfig.xml" />

browserconfig.xml 檔案中 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">

(註: right to left 或 left to right 的簡寫)

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

📖 關於 conditional comments (Internet Explorer) - MSDN - Microsoft

🛠 Critical by Addy Osmani on Github

社交 meta

Facebook OGTwitter Cards 針對所有網頁都高度推薦。關於其他社交媒體的標籤,當你有特別想要確保的社交媒體的顯示功能再考慮。

補充: 利用 og:image:width 及 og:image:height 的方式指定圖片尺寸,者可以協助爬蟲直接渲染圖片,不需要再異步載入並處理它。

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

⬆ back to top


HTML

最佳寫法

📖 HTML 參考

📖 關於 rel=noopener

HTML 測試

🛠 W3C 檢測器

🛠 髒亂程式碼修飾器

🛠 W3C 連結確認器

⬆ back to top


網頁字體

補充: 使用 webfonts 可能會導致 Flash Of Unstyled Text / Flash Of Invisible Text - 考慮使用後備字體和/或利用 webfont 加載器來控制行為。

⬆ back to top


CSS

補充: 看看許多前端開法者遵照的 CSS 指南Sass 指南。 如果你懷疑CSS的效能,可以看 CSS 參考.

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

🛠 線上 CSS 自動前置語言生成器

效能

CSS 測試

🛠 CSS 檢測器

完美像素 - Chrome 擴充軟件

⬆ back to top


Images

補充: 點擊Addy Osmani 的免費電子書**Essential Image Optimization**,完整理解圖片(image)的優化

最佳寫法


JavaScript

最佳寫法

壓縮的資源 (HTML、CSS 跟 JavaScript)

利用 JavaScript 開發安全應用程式的指南*

📖 移除干擾渲染的 JavaScript

🛠 客製化你的 Modernizr

JavaScript 測試

⬆ back to top


Security

檢視你的網站

最佳寫法

📖 Cross-Site Request Forgery (CSRF) 對抗小抄 - OWASP

⬆ back to top


Performance

最佳寫法

🛠 W3C 檢測器

準備迎接接下來的請求

📖 下方技術的解釋

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

效能測試

⬆ back to top


Accessibility

補充: 你可以看這份清單 A11ycasts with Rob Dodson 📹

最佳寫法

📖 Chrome 開發者工具的 Enable / Disable JavaScript

🛠 對比值

Headings

📹 為何標題跟地標如此重要 -- A11ycasts #18

Landmarks

📖 使用 ARIA landmarks 劃分頁面的區塊

語意

📖 手機 input 標籤類型

Form

📖 使用 aria-label 屬性 - MDN

Accessibility 測試

🛠 Wave 測試

📹 管理 Focus - A11ycasts #22

⬆ back to top


SEO

⬆ back to top


Translation

The Front-End Checklist is also available in other languages. Thanks for all translators and their awesome work!


Front-End Checklist 勛章

如果你希望向別人展示你的網站通過這份前端開發者清單,將這個勛章放進你的 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/)

⬆ back to top


Contributing

Open an issue or a pull request to suggest changes or additions.

Guide

The Front-End Checklist repository consists of two branches:

1. master

This branch consists of the README.md file that is automatically reflected on the Front-End Checklist website.

2. 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.

Contributors

Check out all the super awesome contributors.

Support

如果你有任何問題或建議,別客氣,使用 Gitter 或 Twitter 讓我知道:

Authors

David Dias

License

CC0

⬆ back to top