From f8075d538a657d85a4cf2d65305cd65f73f5ad59 Mon Sep 17 00:00:00 2001 From: adavijit Date: Wed, 24 Apr 2024 18:39:47 +0530 Subject: [PATCH] Removed aria-hidden and refactored area-label logic --- packages/terra-form-select/src/MultiSelect.jsx | 8 ++++---- packages/terra-form-select/src/shared/_Tag.jsx | 11 ++++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/terra-form-select/src/MultiSelect.jsx b/packages/terra-form-select/src/MultiSelect.jsx index fd761bdf9df..cb7c0ca2a66 100644 --- a/packages/terra-form-select/src/MultiSelect.jsx +++ b/packages/terra-form-select/src/MultiSelect.jsx @@ -137,7 +137,7 @@ class MultiSelect extends React.Component { this.state = { value: SelectUtil.defaultValue({ defaultValue, value, multiple: true }), - ariaHidden: false, + isInputFocused: false, }; this.inputRef = null; this.display = this.display.bind(this); @@ -196,9 +196,9 @@ class MultiSelect extends React.Component { } } - handleFocus() { this.setState({ ariaHidden: true }); } + handleFocus() { this.setState({ isInputFocused: true }); } - handleBlur() { this.setState({ ariaHidden: false }); } + handleBlur() { this.setState({ isInputFocused: false }); } /** * Receives the reference to the input element from the Frame component. @@ -227,7 +227,7 @@ class MultiSelect extends React.Component { key={tag} onDeselect={this.handleDeselect} disabled={this.props.disabled} - ariaHidden={this.state.ariaHidden} + isInputFocused={this.state.isInputFocused} inputRef={this.inputRef} > {SelectUtil.valueDisplay(this.props, tag)} diff --git a/packages/terra-form-select/src/shared/_Tag.jsx b/packages/terra-form-select/src/shared/_Tag.jsx index eeb6aae5484..499be509247 100644 --- a/packages/terra-form-select/src/shared/_Tag.jsx +++ b/packages/terra-form-select/src/shared/_Tag.jsx @@ -36,15 +36,15 @@ const propTypes = { focus: PropTypes.instanceOf(Element), }), /** - * Specifies whether the tag should have aria-hidden attribute set to true or false. + * Specifies whether the input focus is set to true or false. * Default is false. */ - ariaHidden: PropTypes.bool, + isInputFocused: PropTypes.bool, }; /* eslint-disable jsx-a11y/no-static-element-interactions */ const Tag = ({ - children, onDeselect, value, disabled, intl, inputRef, ariaHidden, + children, onDeselect, value, disabled, intl, inputRef, isInputFocused, }) => { const theme = React.useContext(ThemeContext); const tagRef = useRef(null); @@ -72,6 +72,8 @@ const Tag = ({ } } }; + + const attributes = isInputFocused ? '' : { 'aria-label': intl.formatMessage({ id: 'Terra.form.select.deselect' }, { text: children }) }; return (
  • @@ -84,8 +86,7 @@ const Tag = ({ onClick={() => { if (!disabled) onDeselect(value); }} tabIndex={!disabled ? 0 : -1} role="button" - aria-label={intl.formatMessage({ id: 'Terra.form.select.deselect' }, { text: children })} - aria-hidden={ariaHidden} + {...attributes} >