about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorLindsey Bieda <LindseyB@users.noreply.github.com>2017-04-27 06:01:36 -0400
committerEugen Rochko <eugen@zeonfederated.com>2017-04-27 12:01:36 +0200
commit43a29a9d0ff97bf99add56fc5b4acb39971d0fe5 (patch)
treedca2af151375dac23938b778aa51784ad907aa50 /app
parent0dd71af5fab7d2bef59a6e9d467b2742476aee00 (diff)
Add aria-label to icon driven dropdown menus (#2516)
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/components/components/dropdown_menu.jsx13
-rw-r--r--app/assets/javascripts/components/components/status_action_bar.jsx2
-rw-r--r--app/assets/javascripts/components/features/status/components/action_bar.jsx2
3 files changed, 11 insertions, 6 deletions
diff --git a/app/assets/javascripts/components/components/dropdown_menu.jsx b/app/assets/javascripts/components/components/dropdown_menu.jsx
index fc05fcd2a..f5ee27a11 100644
--- a/app/assets/javascripts/components/components/dropdown_menu.jsx
+++ b/app/assets/javascripts/components/components/dropdown_menu.jsx
@@ -43,13 +43,13 @@ class DropdownMenu extends React.PureComponent {
   }
 
   render () {
-    const { icon, items, size, direction } = this.props;
+    const { icon, items, size, direction, ariaLabel } = this.props;
     const directionClass = (direction === "left") ? "dropdown__left" : "dropdown__right";
 
     return (
       <Dropdown ref={this.setRef}>
-        <DropdownTrigger className='icon-button' style={{ fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` }}>
-          <i className={ `fa fa-fw fa-${icon} dropdown__icon` } />
+        <DropdownTrigger className='icon-button' style={{ fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` }} aria-label={ariaLabel}>
+          <i className={ `fa fa-fw fa-${icon} dropdown__icon` }  aria-hidden={true} />
         </DropdownTrigger>
 
         <DropdownContent className={directionClass}>
@@ -67,7 +67,12 @@ DropdownMenu.propTypes = {
   icon: PropTypes.string.isRequired,
   items: PropTypes.array.isRequired,
   size: PropTypes.number.isRequired,
-  direction: PropTypes.string
+  direction: PropTypes.string,
+  ariaLabel: PropTypes.string
+};
+
+DropdownMenu.defaultProps = {
+  ariaLabel: "Menu"
 };
 
 export default DropdownMenu;
diff --git a/app/assets/javascripts/components/components/status_action_bar.jsx b/app/assets/javascripts/components/components/status_action_bar.jsx
index a84cadcfe..044b3f964 100644
--- a/app/assets/javascripts/components/components/status_action_bar.jsx
+++ b/app/assets/javascripts/components/components/status_action_bar.jsx
@@ -108,7 +108,7 @@ class StatusActionBar extends React.PureComponent {
         <div className='status__action-bar-button-wrapper'><IconButton animate={true} active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} className='star-icon' /></div>
 
         <div className='status__action-bar-dropdown'>
-          <DropdownMenu items={menu} icon='ellipsis-h' size={18} direction="right" />
+          <DropdownMenu items={menu} icon='ellipsis-h' size={18} direction="right" ariaLabel="More"/>
         </div>
       </div>
     );
diff --git a/app/assets/javascripts/components/features/status/components/action_bar.jsx b/app/assets/javascripts/components/features/status/components/action_bar.jsx
index bbdbf56e3..764d6646e 100644
--- a/app/assets/javascripts/components/features/status/components/action_bar.jsx
+++ b/app/assets/javascripts/components/features/status/components/action_bar.jsx
@@ -75,7 +75,7 @@ class ActionBar extends React.PureComponent {
         <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>
         <div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
         <div className='detailed-status__button'><IconButton animate={true} active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} activeStyle={{ color: '#ca8f04' }} /></div>
-        <div className='detailed-status__button'><DropdownMenu size={18} icon='ellipsis-h' items={menu} direction="left" /></div>
+        <div className='detailed-status__button'><DropdownMenu size={18} icon='ellipsis-h' items={menu} direction="left" ariaLabel="More" /></div>
       </div>
     );
   }