Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHECKOUT-1967 Resolve Accessibility Issues #1061

Merged
merged 1 commit into from
Sep 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- Allow 'none' to be a default selection on product option pick lists [#1068](https://github.com/bigcommerce/cornerstone/pull/1068)
- Fixes a bug where product options and add to cart do not work when opened in Quick View modals [#1070](https://github.com/bigcommerce/cornerstone/pull/1070)
- Fixes a bug where the Apple Pay button is displayed in incompatible browsers in the Preview Cart modal [#1084](https://github.com/bigcommerce/cornerstone/pull/1084)
- Make 3 variations WCAG color contrast compliant [#1061](https://github.com/bigcommerce/cornerstone/pull/1061)

## 1.9.2 (2017-08-16)
- Hide Info in footer if no address is provided in Store Profile. Hide Brands in footer if Merchant has no brands [#1053](https://github.com/bigcommerce/cornerstone/pull/1053)
Expand Down
165 changes: 163 additions & 2 deletions assets/scss/optimized-checkout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,18 @@
// Background, Logo Position
// -----------------------------------------------------------------------------

*:focus {
outline-color: stencilColor("optimizedCheckout-colorFocus");
}

.optimizedCheckout-header {
background-color: stencilColor("optimizedCheckout-header-backgroundColor");
// scss-lint:disable StringQuotes
background-image: url(stencilImage('optimizedCheckout-backgroundImage', 'optimizedCheckout-backgroundImage-size'));
// scss-lint:enable StringQuotes
background-size: cover;
border-color: stencilColor("optimizedCheckout-header-borderColor");
color: stencilColor("optimizedCheckout-header-textColor");

//
// TODO:
Expand Down Expand Up @@ -61,6 +67,8 @@ body {

.optimizedCheckout-overlay {
background-color: stencilColor("optimizedCheckout-body-backgroundColor");
border-color: stencilColor("optimizedCheckout-step-borderColor");
color: stencilColor("optimizedCheckout-contentPrimary-color");
}

//
Expand Down Expand Up @@ -102,11 +110,27 @@ body {
color: stencilColor("optimizedCheckout-buttonPrimary-colorHover");
}

&:focus {
border-color: stencilColor("optimizedCheckout-colorFocus");
box-shadow: 0 0 3px stencilColor("optimizedCheckout-colorFocus");
}

&:active {
background-color: stencilColor("optimizedCheckout-buttonPrimary-backgroundColorActive");
border-color: stencilColor("optimizedCheckout-buttonPrimary-borderColorActive");
color: stencilColor("optimizedCheckout-buttonPrimary-colorActive");
}

&[disabled],
&[disabled]:hover,
&[disabled]:focus,
&[disabled].is-active,
&[disabled].is-loading,
&[disabled].active {
background-color: stencilColor("optimizedCheckout-buttonPrimary-backgroundColorDisabled");
border-color: stencilColor("optimizedCheckout-buttonPrimary-borderColorDisabled");
color: stencilColor("optimizedCheckout-buttonPrimary-colorDisabled");
}
}

//
Expand All @@ -121,6 +145,35 @@ body {
color: stencilColor("optimizedCheckout-buttonSecondary-color");
font-family: stencilFontFamily("optimizedCheckout-buttonSecondary-font"), Arial, Helvetica, sans-serif;
font-weight: stencilFontWeight("optimizedCheckout-buttonSecondary-font");

&:focus,
&:hover {
background-color: stencilColor("optimizedCheckout-buttonSecondary-backgroundColorHover");
border-color: stencilColor("optimizedCheckout-buttonSecondary-borderColorHover");
color: stencilColor("optimizedCheckout-buttonSecondary-colorHover");
}

&:focus {
border-color: stencilColor("optimizedCheckout-colorFocus");
box-shadow: 0 0 3px stencilColor("optimizedCheckout-colorFocus");
}

&:active {
background-color: stencilColor("optimizedCheckout-buttonSecondary-backgroundColorActive");
border-color: stencilColor("optimizedCheckout-buttonSecondary-borderColorActive");
color: stencilColor("optimizedCheckout-buttonSecondary-colorActive");
}

&[disabled],
&[disabled]:hover,
&[disabled]:focus,
&[disabled].is-active,
&[disabled].is-loading,
&[disabled].active {
background-color: stencilColor("optimizedCheckout-buttonPrimary-backgroundColorDisabled");
border-color: stencilColor("optimizedCheckout-buttonPrimary-borderColorDisabled");
color: stencilColor("optimizedCheckout-buttonPrimary-colorDisabled");
}
}

//
Expand All @@ -132,6 +185,11 @@ a {
color: stencilColor("optimizedCheckout-link-color");
font-family: stencilFontFamily("optimizedCheckout-link-font"), Arial, Helvetica, sans-serif;
font-weight: stencilFontWeight("optimizedCheckout-link-font");

&:focus,
&:hover {
color: stencilColor("optimizedCheckout-link-hoverColor");
}
}

//
Expand All @@ -141,6 +199,16 @@ a {

.optimizedCheckout-orderSummary {
background-color: stencilColor("optimizedCheckout-orderSummary-backgroundColor");
border-color: stencilColor("optimizedCheckout-orderSummary-borderColor");
box-shadow: 0 1px 4px transparentize(stencilColor("optimizedCheckout-orderSummary-borderColor"), 0.4);
}

.optimizedCheckout-orderSummary-cartSection {
border-color: stencilColor("optimizedCheckout-orderSummary-borderColor");
}

.optimizedCheckout-checkoutStep {
border-color: stencilColor("optimizedCheckout-step-borderColor");
}

//
Expand Down Expand Up @@ -171,15 +239,74 @@ a {
color: stencilColor("optimizedCheckout-form-textColor");
}

.form-field--error {
.optimizedCheckout-form-label,
.form-inlineMessage {
color: stencilColor("optimizedCheckout-formField-errorColor");
}
}
//
// Form Input
// Background & Border Color
// Background, Border, Shadow and Text Color
// Styles form fields.
// -----------------------------------------------------------------------------

.optimizedCheckout-form-input {
$optimizedCheckout-input-boxShadow: inset 0 1px 1px stencilColor("optimizedCheckout-formField-shadowColor");
$optimizedCheckout-input--focus-boxShadow: 0 0 3px transparentize(stencilColor("optimizedCheckout-colorFocus"), 0.4);
$optimizedCheckout-input--error-boxShadow: 0 0 3px transparentize(stencilColor("optimizedCheckout-formField-errorColor"), 0.4);

.optimizedCheckout-form-input,
.optimizedCheckout-form-select {
background-color: stencilColor("optimizedCheckout-formField-backgroundColor");
border-color: stencilColor("optimizedCheckout-formField-borderColor");
box-shadow: $optimizedCheckout-input-boxShadow;
color: stencilColor("optimizedCheckout-formField-textColor");

&::placeholder {
color: stencilColor("optimizedCheckout-formField-placeholderColor");
}

.form-field--error & {
background-color: stencilColor("optimizedCheckout-formField-backgroundColor");
border-color: stencilColor("optimizedCheckout-formField-errorColor");
box-shadow: $optimizedCheckout-input--error-boxShadow, $optimizedCheckout-input-boxShadow;
}
}

.optimizedCheckout-form-input:focus,
.optimizedCheckout-form-select:focus,
.optimizedCheckout-form-select:hover {
background-color: stencilColor("optimizedCheckout-formField-backgroundColor");
border-color: stencilColor("optimizedCheckout-colorFocus");
box-shadow: $optimizedCheckout-input--focus-boxShadow, $optimizedCheckout-input-boxShadow;
}

.optimizedCheckout-form-label::before {
.optimizedCheckout-form-radio + &,
.optimizedCheckout-form-checkbox + & {
background-color: stencilColor("optimizedCheckout-formField-backgroundColor");
border-color: stencilColor("optimizedCheckout-formField-borderColor");
box-shadow: $optimizedCheckout-input-boxShadow;
opacity: 1;
}

.optimizedCheckout-form-radio:checked + &,
.optimizedCheckout-form-checkbox:checked + & {
background-color: stencilColor("optimizedCheckout-formField-inputControlColor");
border-color: stencilColor("optimizedCheckout-formField-inputControlColor");
box-shadow: none;
}

.optimizedCheckout-form-radio:focus + &,
.optimizedCheckout-form-checkbox:focus + & {
border-color: stencilColor("optimizedCheckout-colorFocus");
box-shadow: $optimizedCheckout-input--focus-boxShadow, $optimizedCheckout-input-boxShadow;
}

.optimizedCheckout-form-radio:focus:checked + &,
.optimizedCheckout-form-checkbox:focus:checked + & {
box-shadow: $optimizedCheckout-input--focus-boxShadow;
}
}

//
Expand All @@ -198,3 +325,37 @@ a {
fill: stencilColor("optimizedCheckout-discountBanner-iconColor");
}
}

//
// Form Checklist (Shipping / Payment methods)
// Background & Border & Text Color
// Styles form checklists
// -----------------------------------------------------------------------------

.optimizedCheckout-form-checklist {
background-color: stencilColor("optimizedCheckout-formChecklist-backgroundColor");
border-color: stencilColor("optimizedCheckout-formChecklist-borderColor");
color: stencilColor("optimizedCheckout-formChecklist-color");
}

.optimizedCheckout-form-checklist-item {
background-color: stencilColor("optimizedCheckout-formChecklist-backgroundColor");
border-color: stencilColor("optimizedCheckout-formChecklist-borderColor");
}

.optimizedCheckout-form-checklist-item:hover,
.optimizedCheckout-form-checklist-item--selected {
background-color: stencilColor("optimizedCheckout-formChecklist-backgroundColorSelected");
border-color: stencilColor("optimizedCheckout-formChecklist-borderColor");
}

//
// Loading Toaster
// Background & Text Color
// Styles the Loading Toaster
// -----------------------------------------------------------------------------

.optimizedCheckout-loadingToaster {
background-color: stencilColor("optimizedCheckout-loadingToaster-backgroundColor");
color: stencilColor("optimizedCheckout-loadingToaster-textColor");
}
Loading