diff options
author | Zac Anger <zac@zacanger.com> | 2017-04-15 05:27:27 -0600 |
---|---|---|
committer | Eugen <eugen@zeonfederated.com> | 2017-04-15 13:27:27 +0200 |
commit | f4045ba3d962105ae4a7c0ee785a83c678ca2f8a (patch) | |
tree | 89eedfbe31105593e77a78014e3dd94c658f0156 /app/assets/javascripts/components/features/compose | |
parent | df4ff9a8e13d776e1670c232655db0275a353a0f (diff) |
Add eslint-plugin-jsx-a11y (#1651)
* Add eslint-plugin-jsx-a11y. * Fix npm script. * Adjust npm scripts so test also runs lint. * Fix existing lint errors. * Don't break on a11y issues. * Add role and tabIndex. * Add vim and Mac files to .gitignore and .dockerignore. * Handle htmlFor (partially), a that's actually a button. * Fix missing tabIndex. * Add cursor:pointer to load-more * Revert change to load_more. * Fixes based on review. * Update yarn.lock. * Don't try to install fsevents on Linux (hides warning noise).
Diffstat (limited to 'app/assets/javascripts/components/features/compose')
-rw-r--r-- | app/assets/javascripts/components/features/compose/components/privacy_dropdown.jsx | 2 | ||||
-rw-r--r-- | app/assets/javascripts/components/features/compose/components/search.jsx | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/app/assets/javascripts/components/features/compose/components/privacy_dropdown.jsx b/app/assets/javascripts/components/features/compose/components/privacy_dropdown.jsx index e54fa4d28..de8942d4d 100644 --- a/app/assets/javascripts/components/features/compose/components/privacy_dropdown.jsx +++ b/app/assets/javascripts/components/features/compose/components/privacy_dropdown.jsx @@ -83,7 +83,7 @@ const PrivacyDropdown = React.createClass({ <div className='privacy-dropdown__value'><IconButton icon={valueOption.icon} title={intl.formatMessage(messages.change_privacy)} size={18} active={open} inverted onClick={this.handleToggle} style={iconStyle} /></div> <div className='privacy-dropdown__dropdown'> {options.map(item => - <div key={item.value} onClick={this.handleClick.bind(this, item.value)} className={`privacy-dropdown__option ${item.value === value ? 'active' : ''}`}> + <div role='button' tabIndex='0' key={item.value} onClick={this.handleClick.bind(this, item.value)} className={`privacy-dropdown__option ${item.value === value ? 'active' : ''}`}> <div className='privacy-dropdown__option__icon'><i className={`fa fa-fw fa-${item.icon}`} /></div> <div className='privacy-dropdown__option__content'> <strong>{item.shortText}</strong> diff --git a/app/assets/javascripts/components/features/compose/components/search.jsx b/app/assets/javascripts/components/features/compose/components/search.jsx index 936e003f2..9ca1f5dc5 100644 --- a/app/assets/javascripts/components/features/compose/components/search.jsx +++ b/app/assets/javascripts/components/features/compose/components/search.jsx @@ -36,6 +36,10 @@ const Search = React.createClass({ } }, + noop () { + + }, + handleFocus () { this.props.onShow(); }, @@ -56,9 +60,9 @@ const Search = React.createClass({ onFocus={this.handleFocus} /> - <div className='search__icon'> + <div role='button' tabIndex='0' className='search__icon' onClick={hasValue ? this.handleClear : this.noop}> <i className={`fa fa-search ${hasValue ? '' : 'active'}`} /> - <i className={`fa fa-times-circle ${hasValue ? 'active' : ''}`} onClick={this.handleClear} /> + <i aria-label="Clear search" className={`fa fa-times-circle ${hasValue ? 'active' : ''}`} /> </div> </div> ); |