-
Notifications
You must be signed in to change notification settings - Fork 840
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EuiAccordion] Fixed a bug in aria-expanded for axe-core. #6694
[EuiAccordion] Fixed a bug in aria-expanded for axe-core. #6694
Conversation
* Added logic check for EuiAccordion aria-expanded attr. * Adding comment for new logic reasoning.
EuiAccordion
aria-expanded for axe.
Preview documentation changes for this PR: https://eui.elastic.co/pr_6694/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_6694/ |
const button = ( | ||
<ButtonElement | ||
css={cssButtonStyles} | ||
{...buttonProps} | ||
id={buttonId} | ||
className={buttonClasses} | ||
aria-controls={id} | ||
aria-expanded={isOpen} | ||
aria-expanded={isExpandableButton ? isOpen : undefined} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jest and Cypress tests broke in local testing while I was working through this logic, so I've got high confidence in this approach. The two snapshot test changes were using div | fieldset
for the ButtonElement
which is what I expected.
Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com>
Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com>
Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com>
Preview documentation changes for this PR: https://eui.elastic.co/pr_6694/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 Woohoo!
EUI `77.0.0` ➡️ `77.1.1` ## [`77.1.0`](https://github.com/elastic/eui/tree/v77.1.0) - Updated `EuiDatePicker` to display a warning icon and correctly set `aria-invalid` when `isInvalid` is passed ([#6677](elastic/eui#6677)) - Updated `EuiFilePicker` to display an alert icon when `isInvalid` ([#6678](elastic/eui#6678)) - Updated `EuiTextArea` to display an alert icon when `isInvalid` ([#6679](elastic/eui#6679)) - Updated `EuiTextArea` to support the `isLoading` prop ([#6679](elastic/eui#6679)) - Updated `EuiComboBox` to display a warning icon and correctly set `aria-invalid` when `isInvalid` is passed ([#6680](elastic/eui#6680)) **Bug fixes** - Fixed `EuiAccordion` to not set an `aria-expanded` attribute on non-interactive `buttonElement`s ([#6694](elastic/eui#6694)) - Fixed an `EuiPopoverFooter` bug causing nested popovers within popovers (note: not a recommended use-case) to unintentionally override its panel padding size inherited from context ([#6698](elastic/eui#6698)) - Fixed `EuiComboBox` to only delete the last selected item on backspace if the input caret is present ([#6699](elastic/eui#6699)) --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Jon <jon@elastic.co>
Summary
The
EuiAccordion
component was throwing an axe-core violation when we included interactive content in the trigger. This was due to non-button elements receiving anaria-expanded
attribute. This PR adds a logic check to only render thearia-expanded
attribute on buttons, and in the correct state.Closes #6689
QA
Remove or strikethrough items that do not apply to your PR.
General checklist
@default
if default values are missing) and playground toggles