Skip to content

Commit

Permalink
fix(accessibility): add basic accessibility compliance
Browse files Browse the repository at this point in the history
  • Loading branch information
sanjithkumar017 committed May 13, 2021
1 parent 1e1989c commit aa8a362
Show file tree
Hide file tree
Showing 46 changed files with 1,357 additions and 38 deletions.
13 changes: 11 additions & 2 deletions demo/src/components/ActiveFilters.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,19 @@ import React from 'react';
import { SelectedFacets } from '@unbxd-ui/react-search-sdk';

export const FacetItemComponent = ({ itemData, onClick, priceUnit }) => {
const { name, type, dataId } = itemData;
const { name, type, dataId, facetName } = itemData;
const handleClick = () => {
onClick(itemData);
};

let selectedFacetMarkup = null;
let facetVal = dataId;
if (type === 'TEXT_FACET') {
selectedFacetMarkup = <span>{name}</span>;
}
if (type === 'RANGE_FACET') {
const [valMin, valMax] = dataId.split(' TO ');
facetVal = `[${valMin}-${valMax}]`;
selectedFacetMarkup = (
<span>
{priceUnit} {valMin} - {priceUnit} {valMax}
Expand All @@ -23,7 +25,14 @@ export const FacetItemComponent = ({ itemData, onClick, priceUnit }) => {
}

return (
<div className="UNX-selectedFacets__item" onClick={handleClick}>
<div
className="UNX-selectedFacets__item"
onClick={handleClick}
data-facet-name={facetName}
data-id={facetVal}
tabIndex={0}
role={'button'}
>
{selectedFacetMarkup} <span className="-cross" />
</div>
);
Expand Down
6 changes: 5 additions & 1 deletion demo/src/components/MultilevelFilters.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { MultilevelFacets } from '@unbxd-ui/react-search-sdk';
import { scrollTop } from '../utils';

export const FacetItemComponent = ({ itemData, onClick }) => {
const { name, count, level, isSelected } = itemData;
const { name, count, level, isSelected, fieldName } = itemData;
const handleClick = () => {
onClick(itemData);
};
Expand All @@ -15,6 +15,10 @@ export const FacetItemComponent = ({ itemData, onClick }) => {
}`}
onClick={handleClick}
data-testid="UNX_multilevelFacet__facetItem"
data-facet-name={fieldName}
data-id={name}
tabIndex={0}
role={'button'}
>
<div className="-checkbox" />
<div className="-label">{name}</div>
Expand Down
17 changes: 15 additions & 2 deletions demo/src/components/ProductsSize.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export const sizeOptions = [
{ id: 20, value: '20', label: '20' }
];


export const PageSizeItemComponent = ({ itemData, onClick }) => {
const { value, isSelected } = itemData;
const handleClick = () => {
Expand Down Expand Up @@ -44,19 +43,33 @@ export const PageSizeItemDropdownComponent = ({
};
return (
<div className="UNX-pageSize__container">
<span className="-label">Products per page</span>
<label
className="-label"
id="UNX-pageSize__dropdown-label"
htmlFor="UNX-pageSize__dropdown-input"
>
Products per page
</label>
<Select
defaultValue={selectedOption}
options={sizeOptions}
value={selectedOption}
onChange={handleChange}
className="UNX-pageSize__dropdown UNX-dropdown-container"
classNamePrefix="UNX-dropdown"
aria-labelledby="UNX-pageSize__dropdown-label"
inputId="UNX-pageSize__dropdown-input"
/>
</div>
);
};

const label = (
<div className="-label" htmlFor={'UNX-pageSize__dropdown'}>
Sort by
</div>
);

// const ProductsSize = () => {
// return (
// <PageSize
Expand Down
4 changes: 4 additions & 0 deletions demo/src/components/RangeFilters.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ export const FacetItemComponent = ({ itemData, onClick, priceUnit }) => {
className={`UNX-facet__item ${isSelected ? '-selected' : ''}`}
onClick={handleClick}
data-testid="UNX_rangeFacet__facetItem"
data-facet-name={facetName}
data-id={`[${fromDataId}-${toDataId}]`}
tabIndex={0}
role={'button'}
>
<div className="-checkbox" />
<div className="-label">
Expand Down
9 changes: 7 additions & 2 deletions demo/src/components/SearchBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ import { categoryLinks } from '../config';

export const SearchButton = ({ onSearchBoxSubmit }) => {
return (
<button onClick={onSearchBoxSubmit} className="UNX-searchbox__button" />
<button
onClick={onSearchBoxSubmit}
className="UNX-searchbox__button"
aria-label="Search"
/>
);
};

Expand Down Expand Up @@ -81,7 +85,7 @@ const SearchBar = (props) => {

return (
<div className="UNX-header__container">
<a href="/">
<a href="/" aria-label="Unbxd">
<span className="UNX-header__logo" />
</a>
<CategoryLinks
Expand All @@ -106,6 +110,7 @@ const SearchBar = (props) => {
options={languageOptions}
className="UNX-language__dropdown UNX-dropdown-container"
classNamePrefix="UNX-dropdown"
aria-label="language options"
/>
<i className="UNX-cart__icon fa fa-shopping-bag fa-2x" />
</div>
Expand Down
18 changes: 16 additions & 2 deletions demo/src/components/Sorter.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@ export const sortOptions = [
order: 'desc'
}
];
const label = <div className="-label">Sort by</div>;

const label = (
<div className="-label" htmlFor={'UNX-sortby__dropdown'}>
Sort by
</div>
);

const onSortChange = (field, order) => {
console.log('Sort change: ', field, order);
return true;
Expand Down Expand Up @@ -52,14 +58,22 @@ const SortItemDropdownComponent = ({ sortOptions, noOfPages, onSortClick }) => {
};
return (
<div className="UNX-sortby__container">
<span className="-label">Sort By</span>
<label
className="-label"
id="UNX-sortby__dropdown-label"
htmlFor="UNX-sortby__dropdown-input"
>
Sort By
</label>
<Select
defaultValue={sortOptions[0]}
options={sortOptions}
value={selectedOption}
onChange={handleChange}
className="UNX-sort__dropdown UNX-dropdown-container"
classNamePrefix="UNX-dropdown"
aria-labelledby="UNX-sortby__dropdown-label"
inputId="UNX-sortby__dropdown-input"
/>
</div>
);
Expand Down
2 changes: 2 additions & 0 deletions demo/src/components/SpellChecker.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ export const SpellCheckItemComponent = ({ itemData, onClick }) => {
className="-suggestion"
onClick={handleClick}
data-testid="UNX_spellCheck"
tabIndex={0}
role={'button'}
>
{suggestion}
</span>
Expand Down
6 changes: 5 additions & 1 deletion demo/src/components/TextFilters.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const transform = function () {
};

export const FacetItemComponent = ({ itemData, onClick }) => {
const { name, count, isSelected } = itemData;
const { name, count, isSelected, facetName } = itemData;
const handleClick = () => {
onClick(itemData);
};
Expand All @@ -19,6 +19,10 @@ export const FacetItemComponent = ({ itemData, onClick }) => {
className={`UNX-facet__item ${isSelected ? '-selected' : ''}`}
onClick={handleClick}
data-testid="UNX_textFacet__facetItem"
data-facet-name={facetName}
data-id={name}
tabIndex={0}
role={'button'}
>
<div className="-checkbox" />
<div className="-label">{name}</div>
Expand Down
4 changes: 2 additions & 2 deletions demo/src/pages/Accessories.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const Accessories = () => {
setProductType('CATEGORY');
}, []);
return (
<div className="UNX-search__container">
<main className="UNX-search__container">
<div className="UNX-searchMeta__container">
<Crumbs />
<div className="UNX-searchMeta__more">
Expand Down Expand Up @@ -60,7 +60,7 @@ const Accessories = () => {
<Paginator />
</div>
</div>
</div>
</main>
);
};

Expand Down
4 changes: 2 additions & 2 deletions demo/src/pages/Balls.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const Balls = () => {
setProductType('CATEGORY');
}, []);
return (
<div className="UNX-search__container">
<main className="UNX-search__container">
<div className="UNX-searchMeta__container">
<Crumbs />
<div className="UNX-searchMeta__more">
Expand Down Expand Up @@ -60,7 +60,7 @@ const Balls = () => {
<Paginator />
</div>
</div>
</div>
</main>
);
};

Expand Down
4 changes: 2 additions & 2 deletions demo/src/pages/Grips.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const Grips = () => {
setProductType('CATEGORY');
}, []);
return (
<div className="UNX-search__container">
<main className="UNX-search__container">
<div className="UNX-searchMeta__container">
<Crumbs />
<div className="UNX-searchMeta__more">
Expand Down Expand Up @@ -60,7 +60,7 @@ const Grips = () => {
<Paginator />
</div>
</div>
</div>
</main>
);
};

Expand Down
4 changes: 2 additions & 2 deletions demo/src/pages/Home.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const Home = (props) => {
}
}, []);
return (
<div className="UNX-search__container">
<main className="UNX-search__container">
<div className="UNX-searchMeta__container">
<Crumbs />
<div className="UNX-searchMeta__more">
Expand Down Expand Up @@ -62,7 +62,7 @@ const Home = (props) => {
<Paginator />
</div>
</div>
</div>
</main>
);
};

Expand Down
4 changes: 2 additions & 2 deletions demo/src/pages/Strings.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const Strings = () => {
setProductType('CATEGORY');
}, []);
return (
<div className="UNX-search__container">
<main className="UNX-search__container">
<div className="UNX-searchMeta__container">
<Crumbs />
<div className="UNX-searchMeta__more">
Expand Down Expand Up @@ -60,7 +60,7 @@ const Strings = () => {
<Paginator />
</div>
</div>
</div>
</main>
);
};

Expand Down
5 changes: 0 additions & 5 deletions public/css/core/base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ body {
box-sizing: border-box;
}

button {
outline-color: transparent !important;
border-radius:1px;
}

body {
background-color: #f6f6f6;
margin:0;
Expand Down
4 changes: 4 additions & 0 deletions public/css/core/modules.scss
Original file line number Diff line number Diff line change
Expand Up @@ -233,3 +233,7 @@
.hidden {
display: none;
}

.-label {
margin-bottom: 0;
}
6 changes: 5 additions & 1 deletion src/components/Button.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';

const Button = (props) => <button {...props}>{props.children}</button>;
const Button = (props) => (
<button type="button" tabIndex={0} {...props}>
{props.children}
</button>
);

Button.propTypes = {
children: PropTypes.oneOfType([
Expand Down
7 changes: 5 additions & 2 deletions src/components/Input.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ class Input extends React.PureComponent {
clearable,
clearComponent,
onClear,
placeholder
placeholder,
ariaLabel
} = this.props;
const showClear = value && value.length > 0 && clearable;

Expand All @@ -40,6 +41,7 @@ class Input extends React.PureComponent {
onChange={onChange ? onChange : null}
className={className}
ref={this.inputRef}
aria-label={ariaLabel}
/>
{showClear &&
(clearComponent ? (
Expand Down Expand Up @@ -76,7 +78,8 @@ Input.propTypes = {
className: PropTypes.string,
clearable: PropTypes.bool,
autoFocus: PropTypes.bool,
onChange: PropTypes.func
onChange: PropTypes.func,
ariaLabel: PropTypes.string
};

export default Input;
6 changes: 6 additions & 0 deletions src/components/ViewMore.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ const ViewMore = ({ facetName, toggleViewLess, viewLess, ...props }) => {
className="view-More"
data-unx_name={facetName}
onClick={toggleViewLess}
aria-label="view less facets"
tabIndex={0}
role={'button'}
>
View Less
</div>
Expand All @@ -14,6 +17,9 @@ const ViewMore = ({ facetName, toggleViewLess, viewLess, ...props }) => {
className="view-More"
data-unx_name={facetName}
onClick={toggleViewLess}
aria-label="view more facets"
tabIndex={0}
role={'button'}
>
View More
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,9 @@ Array [
value="dunlop"
/>
<button
aria-label="search"
className="UNX-searchbox__button"
tabIndex={0}
type="submit"
>
Search
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,9 @@ Array [
value="*"
/>
<button
aria-label="search"
className="UNX-searchbox__button"
tabIndex={0}
type="submit"
>
Search
Expand Down
Loading

0 comments on commit aa8a362

Please sign in to comment.