Remove aria-pressed where it's redundant (#19912)
This commit removes aria-pressed attribute from all elements which contents or other descriptive attributes change in active state, effectively replacing the meaning of the button, in which case aria-pressed, an attribute specified whether the button is currently pressed, would create a confusion. (Spoiler: it's everywhere). See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969
This commit is contained in:
		| @@ -152,7 +152,6 @@ class ColumnHeader extends React.PureComponent { | ||||
|           className={collapsibleButtonClassName} | ||||
|           title={formatMessage(collapsed ? messages.show : messages.hide)} | ||||
|           aria-label={formatMessage(collapsed ? messages.show : messages.hide)} | ||||
|           aria-pressed={collapsed ? 'false' : 'true'} | ||||
|           onClick={this.handleToggleClick} | ||||
|         > | ||||
|           <i className='icon-with-badge'> | ||||
|   | ||||
| @@ -16,7 +16,6 @@ export default class IconButton extends React.PureComponent { | ||||
|     onKeyPress: PropTypes.func, | ||||
|     size: PropTypes.number, | ||||
|     active: PropTypes.bool, | ||||
|     pressed: PropTypes.bool, | ||||
|     expanded: PropTypes.bool, | ||||
|     style: PropTypes.object, | ||||
|     activeStyle: PropTypes.object, | ||||
| @@ -98,7 +97,6 @@ export default class IconButton extends React.PureComponent { | ||||
|       icon, | ||||
|       inverted, | ||||
|       overlay, | ||||
|       pressed, | ||||
|       tabIndex, | ||||
|       title, | ||||
|       counter, | ||||
| @@ -143,7 +141,6 @@ export default class IconButton extends React.PureComponent { | ||||
|       <button | ||||
|         type='button' | ||||
|         aria-label={title} | ||||
|         aria-pressed={pressed} | ||||
|         aria-expanded={expanded} | ||||
|         title={title} | ||||
|         className={classes} | ||||
|   | ||||
| @@ -361,8 +361,8 @@ class StatusActionBar extends ImmutablePureComponent { | ||||
|     return ( | ||||
|       <div className='status__action-bar'> | ||||
|         <IconButton className='status__action-bar__button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} counter={status.get('replies_count')} obfuscateCount /> | ||||
|         <IconButton className={classNames('status__action-bar__button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} /> | ||||
|         <IconButton className='status__action-bar__button star-icon' animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} /> | ||||
|         <IconButton className={classNames('status__action-bar__button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} /> | ||||
|         <IconButton className='status__action-bar__button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} /> | ||||
|         <IconButton className='status__action-bar__button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /> | ||||
|  | ||||
|         {shareButton} | ||||
|   | ||||
| @@ -194,7 +194,7 @@ class HashtagTimeline extends React.PureComponent { | ||||
|       const following = tag.get('following'); | ||||
|  | ||||
|       followButton = ( | ||||
|         <button className={classNames('column-header__button')} onClick={this.handleFollow} disabled={!signedIn} title={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)} aria-label={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)} aria-pressed={following ? 'true' : 'false'}> | ||||
|         <button className={classNames('column-header__button')} onClick={this.handleFollow} disabled={!signedIn} title={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)} aria-label={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)}> | ||||
|           <Icon id={following ? 'user-times' : 'user-plus'} fixedWidth className='column-header__icon' /> | ||||
|         </button> | ||||
|       ); | ||||
|   | ||||
| @@ -130,7 +130,6 @@ class HomeTimeline extends React.PureComponent { | ||||
|           className={classNames('column-header__button', { 'active': showAnnouncements })} | ||||
|           title={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} | ||||
|           aria-label={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} | ||||
|           aria-pressed={showAnnouncements ? 'true' : 'false'} | ||||
|           onClick={this.handleToggleAnnouncementsClick} | ||||
|         > | ||||
|           <IconWithBadge id='bullhorn' count={unreadAnnouncements} /> | ||||
|   | ||||
| @@ -182,8 +182,8 @@ class Footer extends ImmutablePureComponent { | ||||
|     return ( | ||||
|       <div className='picture-in-picture__footer'> | ||||
|         <IconButton className='status__action-bar-button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} counter={status.get('replies_count')} obfuscateCount /> | ||||
|         <IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate}  active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={status.get('reblogs_count')} /> | ||||
|         <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} /> | ||||
|         <IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate}  active={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={status.get('reblogs_count')} /> | ||||
|         <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} /> | ||||
|         {withOpenButton && <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.open)} icon='external-link' onClick={this.handleOpenClick} href={status.get('url')} />} | ||||
|       </div> | ||||
|     ); | ||||
|   | ||||
| @@ -619,7 +619,7 @@ class Status extends ImmutablePureComponent { | ||||
|           showBackButton | ||||
|           multiColumn={multiColumn} | ||||
|           extraButton={( | ||||
|             <button type='button' className='column-header__button' title={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll} aria-pressed={status.get('hidden') ? 'false' : 'true'}><Icon id={status.get('hidden') ? 'eye-slash' : 'eye'} /></button> | ||||
|             <button type='button' className='column-header__button' title={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll}><Icon id={status.get('hidden') ? 'eye-slash' : 'eye'} /></button> | ||||
|           )} | ||||
|         /> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user