Code Monkey home page Code Monkey logo

nhsuk-frontend's Introduction

NHS.UK frontend

NHS.UK frontend contains the code you need to start building user interfaces for NHS websites and services.

Guidance

Visit the NHS digital service manual for examples of components and guidance for when to use them. If we haven’t yet published guidance on the component you want, please email us or get in touch on the NHS digital service manual Slack workspace.

How to install NHS.UK frontend

1. Install with package managers

We recommend that you install NHS.UK frontend using node package manager (npm).

2. Install by using compiled files

You can also install NHS.UK frontend using our compiled files, if you are not currently using a package manager.

Browsers and assistive technology

Visit our support for browsers and assistive technology, for details on operating systems and software.

Contribute

Read our contributing guidelines to contribute to NHS.UK frontend.

Development environment

Gitpod ready-to-code

Get in touch

NHS.UK frontend is maintained by NHS England. Email us, open a GitHub issue or get in touch on the NHS digital service manual Slack workspace.

Licence

The codebase is released under the MIT Licence, unless stated otherwise. This covers both the codebase and any sample code in the documentation. The documentation is © NHS England and available under the terms of the Open Government 3.0 licence.

nhsuk-frontend's People

Contributors

alexcolbeck1 avatar andymantell avatar chrimesdev avatar codebymikey avatar davidhunter08 avatar dependabot[bot] avatar diana-nita avatar dombaker avatar farwahkazmi1-nhs avatar fenwick17 avatar fofr avatar henocookie avatar kiddhustle avatar mauroferraresi avatar mcheung-nhs avatar mikemonteith avatar nnekao avatar pezholio avatar pflynny avatar prembonsall avatar roshaanbajwa avatar ross-clark avatar sab-h avatar sarawilcox avatar sirose avatar the-nathan-smith avatar thomashdoughty avatar wa-rren-dev avatar will-dyson-nhsd avatar xlasercut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nhsuk-frontend's Issues

Components JavaScript dependencies

Review each of the components required JavaScript, make sure they are compiled in the gulp scripts and update the documentation on how to use them.

  • Use IDs instead of class names in JavaScript.
  • eslint
  • Fix JavaScript comment format, and comment for each component
  • Compile into 1 file using Gulp and minify that file.
  • Document each components JavaScript and how to include
  • Write coding standards for JavaScript
  • Header JavaScript: Only try to run the jQuery code if jQuery is included to stop it blocking any other scripts below.
  • Test overall JavaScript

jQuery Discussion

Remove jQuery? The only component that uses jQuery is the auto complete. GDS have an accessible auto complete component (JavaScript only) that we could use.

https://githubengineering.com/removing-jquery-from-github-frontend/

  • No jQuery dependency required in projects.

Pagination

Use this issue to refactor the component: Pagination

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Implement the ITCSS structure to our project

Implement ITCSS (Inverted Triangle CSS) structure to our project to help reduce specificity and increase maintainability. See the following article about ITCSS https://csswizardry.net/talks/2014/11/itcss-dafed.pdf

Have a look into Parker for plotting our specificity, so that we can track it over time. See the following articles about specificity https://csswizardry.com/2014/10/the-specificity-graph/ & https://csswizardry.com/2014/07/hacks-for-dealing-with-specificity/ & https://cssguidelin.es/#specificity

Footer

Use this issue to refactor the component: Footer

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Skip to main content link

Use this issue to refactor the component: Skip to main content link

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Cookie Banner

Use this issue to refactor the component: Cookie Banner

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Do and Don't List

Use this issue to refactor the component: Do and Don't List

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Panel

Use this issue to refactor the component: Panel

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Harry Roberts workshop - Code review

Key selector

  • .nhsuk-icon__chevron-down path {
  • .nhsuk-icon__chevron-up path {
  • .nhsuk-list--check svg,.nhsuk-list--cross svg {
  • .nhsuk-c-action-link:focus span {
  • .nhsuk-c-action-link:hover span {
  • .nhsuk-c-care-card--black .nhsuk-c-care-card__content a {
  • .nhsuk-details__text p {
  • .nhsuk-c-global-alert a {
  • .nhsuk-footer__logo a {
  • .suggestions-item:focus div,.suggestions-item:hover div {
  • .suggestions-item--selected a {
  • .nhsuk-c-pagination a {
  • .nhsuk-c-pagination a {

Core

  • Sass comments for files that do not generate CSS
  • Comment spacing - alignment
  • Font face - move from settings to generic
  • Variables - use of !default - base font margin 8px
  • Exports - Figure out what it does - if using it then it needs adding to each components Sass file
  • 'Magic numbers' - ack (need to install) - $ ack -l --sass '\dpx'
  • Breakpoint name @mixin - mq - govuk
  • Replace all instances of govuk-media-query with mq.
  • Tools Typography - "These mixins allow us to quickly and consistently generate common text patterns such as colours..."
  • Mobile first MQ's
  • Minus number Sass spacing map
  • Change colour to color
  • Change class name .active to .is-active
  • Core components and UI components
  • Utilities need u- adding
  • Utilities - top-and-bottom needs deleting

Components

  • Care card heading margin: 0; should be margin-bottom: 0;
  • Check shorthand margin/padding.background declarations - $ ack --sass '(background|margin|padding):'
  • Instance of !important - look at doing it another way eg: .foo.foo ($ ack --ignore-dir=packages/core/utilities/ --sass '\!important;')
  • SVG assest path variable
  • -9999px replacement: http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
  • Footer list &:last-child should be > &:last-child - should be probably for all &:last-child
  • Header - break into smaller files
  • Header - large desktop media query - should we re-arrange it?
  • Sass comments - new section with Sass file should restart comments number (1, 2, 3) - not (6, 7, 8)
  • Hero - make comments on 'random numbers' eg: 240px
  • Image component - 'syntax sugar' - & + &
  • Back to top - make a decision on whether we keep it or not
  • Pagination <a> could do with changing a class - eg: nhsuk-pagination__link
  • @mixin panel could be renamed to save confusion
  • Panel - need to nest .panel-group & { } - "key selector should only appear once".
  • Skip link - -9999px needs replacing (see above)
  • Table - nest table responsive into table.

Assets

  • Icons - change logo to logo-nhs

Review Date

Use this issue to refactor the component: Review Date

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Promo

Use this issue to refactor the component: Promo

Breaking changes

  • The promo image is now inline. Eg: <img class="nhsuk-c-promo__img" src="..." alt="...">

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Care Card

Use this issue to refactor the component: Care Card

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Refactor component READMEs & macros

We need to refactor each of the component READMEs and macros to make sure they are consistent. There is a new README template to use across all components.

  • Make sure each of the component READMEs are consistent with each other.

  • Each component has a GitHub issue and is linked to from the README.

  • Make sure each of the parameters are consistent with each other.

  • Make sure each of the macros can pass classes and attributes.

  • Create a table of macro arguments for each component

  • Decide on a policy on our advice to using macros due to the security risk https://mozilla.github.io/nunjucks/api.html#user-defined-templates-warning

  • Action link

  • Breadcrumb

  • Primary Care Card

  • Emergency Care Card

  • Urgent Care Card

  • Contents list

  • Details

  • Do and Don't list

  • Emergency alert

  • Expander

  • Expander group

  • Feedback banner

  • Footer

  • Header

  • Header transactional

  • Header with navigation

  • Header with search

  • Hero

  • Hero with image

  • Hero with image with content

  • Images

  • Inset text

  • List panel

  • Pagination

  • Panel

  • Panel with grey background

  • Panel with label

  • Promo

  • Promo with no description

  • Promo small

  • Promo with image

  • Review date

  • Skip link

  • Tables

  • Warning callout

Add a config option for the assets URL

All assets referenced by the CSS are at /assets/*.
Some people might not be able to host at this location.
We should add a configuration option in sass so that the base url can be used.

What base url do other CSS frameworks use in the compiled version? Maybe a relative path would be best for the default compiled css.

Emergency Banner

Use this issue to refactor the component: Emergency Banner

Breaking changes

  • Class nhsuk-c-global-alert__header is now nhsuk-c-global-alert__heading

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Contents list

Use this issue to refactor the component: Contents list

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Add code comments to our scss files

Add code comments into our scss files to explain intent and make it easier to search/grep for the components or elements we are looking for. Follow this article on writing CSS comments, including the template and titling in all of our files. https://cssguidelin.es/#commenting

Remember: Comment with our intent, not the implementation.

Table

Use this issue to refactor the component: Table

Breaking changes

  • To update

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

SVG icons HTML validating failing

Anywhere we use an SVG icon, the HTML validator (https://validator.w3.org) returns issues because of the IE8 fallback method we use.

<image class="nhsuk-logo nhsuk-logo__fallback" src="/assets/logos/fallback/nhs-logo.png" xlink:href=""></image>

Error: Attribute src not allowed on element image at this point.
Error: Element image is missing required attribute height.
Error: Element image is missing required attribute width.

When adding a width and a height attribute to the image, the image appearing on browsers other than IE8, which we don't want. We need to investigate the issue further and fix it on every component where an SVG icon is present.

Add syntax highlighting to docs built from markdown

Github-flavour markdown can use syntax highlighting with a code after three backticks, e.g

```html
<p class="code">syntax highlighting</p>
```

resulting in:

<p class="code">syntax highlighting</p>

We should enable this syntax highlighting in our own built documentation

Frontend (final) tidy up before release

Final cleanup of components before releasing.

Checking / amending:

  • print styling - use of @mixins
  • link styling - use of @mixins
  • add 12px to spacing map and update key values to be the same as px size
  • alphabetise backstop.json component list
  • triangle @mixin - care card and hero
  • class names should use heading and not header
  • check macros - each macro should use params and each component should have classes on surrounding element
  • check .nhsuk-main-wrapper spacing - should be 48px on desktop and 40px on mobile
  • body line-height
  • promo component colour variant - grey
  • center align element helper class
  • update visual tests for all components
  • update change log
  • use the HTML syntax highlighting in READMEs

A-Z List

Use this issue to refactor the component: A-Z List

Breaking changes

  • To update

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Feedback Banner

Use this issue to refactor the component: Feedback Banner

Breaking changes

  • Class nhsuk-c-feedback-banner__header is now nhsuk-c-feedback-banner__heading

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Details

Use this issue to refactor the component: Details

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Improve Typography styles with sass maps, mixins and functions

We need to refactor the typographic scale with Sass to make it scalable. Resulting in cleaner, more efficient code and whilst making it easier for designers and developers use typography sizing helping the design (sizes and spacing) stay consistent.

Automatically deploy compiled assets

When we release a new version of the frontend library, we would like our compiled assets to be automatically deployed to assets.nhs.uk for people to hot link with. We can use our current Travis, Docker and Rancher implementation to do this, we need to investigate deploying to buckets.

@mikemonteith has started some proof of concept work on this in the branch ci-deployment.

Action Link

Use this issue to refactor the component: Action Link

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Inset Text

Use this issue to refactor the component: Inset Text

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Improve our frontend tooling, Gulp, PostCSS and Parker?

Implement PostCSS to prefix our class names with nhsuk_, add browser vendor prefixes and minify our CSS. Currently we use gulp to compile our sass to css, clean and minify it, investigate whether we need both or we can use npm scripts & PostCSS alone to reduce our dependencies. Parker will allow us to graph CSS specificity and help us with the ITCSS (Inverted Triangle CSS) structure later on.

Work has been started by @mcheung-nhs on moving our tooling over to PostCSS in the branch /feature/postcss

We could also investigate any further PostCSS plugins that would be useful, but I think we've got the important ones.

Warning Callout

Use this issue to refactor the component: Warning Callout

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Refactor Core styles

Use this issue to refactor the core styles.

/settings
/tools
/elements
/objects
/utilities
/styles
/assets
  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Phase Banner

Use this issue to refactor the component: Do and Don't List

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Header

Use this issue to refactor the component: Header

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

General refactoring for our styles and create a set of coding standards

We need to have a look how we write out scss and prevent any bad habits, following this we also need to document a set of frontend coding styles. The following article is a good start on how we could improve our scss writing https://cssguidelin.es some key things are the way we nest our styles, magic numbers and naming spacing/conventions.

We can review our sass-lint rules to help us maintain better coding habits.

Images

Use this issue to refactor the component: Images

Breaking changes

The img tag now uses a class named "nhsuk-c-image__img".

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Expander

Use this issue to refactor the component: Expander

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Create a testing criteria for components and elements

Create a testing criteria to test components and elements against. This should include; browsers, screen resolutions, assistive technologies, written tests and possibly visual regression tests in the future. These should be added to the documentation folders and to the pull request template as a checklist.

Taking inspiration from GDS and their testing policies; https://gdstechnology.blog.gov.uk/2018/06/26/changing-our-testing-requirements-for-internet-explorer-8-9-and-10/ & https://github.com/alphagov/govuk-frontend#browser-support

Breadcrumb

Use this issue to refactor the component: Breadcrumb

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Hero

Use this issue to refactor the component: Hero

Refactor checklist

  • Sass file contains comments, using the comments template format
  • Refactor code using BEM for naming
  • Remove / refactor any code smells
  • Remove / refactor any 'random numbers' or make comments where it is necessary to use

Component checklist

  • SCSS
  • SCSS lint
  • HTML template
  • HTML validate & lint
  • Nunjucks macro
  • A standalone example
  • README/Documentation
  • Pseudocode tests
  • Visual tests
  • Tested against our testing policy (Resolution, Browser & Accessibility)
  • Print stylesheet considered
  • CHANGELOG

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.