Skip to content

feat(kibana-security): replace title props and wrap EuiButtonIcon with EuiToolTip#271489

Open
weronikaolejniczak wants to merge 5 commits into
elastic:mainfrom
weronikaolejniczak:feat/replace-title-kibana-security
Open

feat(kibana-security): replace title props and wrap EuiButtonIcon with EuiToolTip#271489
weronikaolejniczak wants to merge 5 commits into
elastic:mainfrom
weronikaolejniczak:feat/replace-title-kibana-security

Conversation

@weronikaolejniczak
Copy link
Copy Markdown
Contributor

@weronikaolejniczak weronikaolejniczak commented May 27, 2026

Relates to elastic/eui#9566

Important

These changes should be carefully tested visually by each code owner. Wrapping with EuiToolTip instead of passing title leads to another DOM node and can potentially break the layout. In such cases, I would appreciate committing appropriate fixes to this PR directly, I cannot possibly setup and run all Kibana functionalities to fix every regression.

This PR:

  • wraps ALL EuiButtonIcon with EuiToolTip, the content is the same as aria-label, any title passed to EuiButtonIcon is removed,
  • changes several title cases (not truncation related) to use EuiToolTip instead (if applicable).

@weronikaolejniczak weronikaolejniczak added backport:skip This PR does not require backporting EUI release_note:skip Skip the PR/issue when compiling release notes labels May 27, 2026
@weronikaolejniczak
Copy link
Copy Markdown
Contributor Author

buildkite test this

@alexwizp alexwizp added backport:version Backport to applied version labels v9.5.0 v9.4.2 and removed backport:skip This PR does not require backporting labels May 28, 2026
@alexwizp alexwizp marked this pull request as ready for review May 28, 2026 12:45
@alexwizp alexwizp requested a review from a team as a code owner May 28, 2026 12:45
@alexwizp alexwizp requested a review from jeramysoucy May 28, 2026 12:45
@infra-vault-gh-plugin-prod
Copy link
Copy Markdown

Pinging @elastic/eui-team (EUI)

Copy link
Copy Markdown
Contributor

@jeramysoucy jeramysoucy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below is a matrix of changes to the Kibana Security domain. I have tested each case.

Surface File Change
Role Mappings → Field rule editor field_rule_editor.tsx Wrap "Add alternate value" (+) and "Delete value" (🗑) icon buttons in EuiToolTip. Add aria-hidden to empty filler icons.
Roles → Index privileges index_privilege_form.tsx Wrap "Delete index/remote-index privilege" (🗑) icon button in EuiToolTip.
Roles → Remote cluster privileges remote_cluster_privileges_form.tsx Wrap "Delete remote cluster privilege" (🗑) icon button in EuiToolTip.
Roles → Privilege summary table privilege_summary_table.tsx Wrap the row expand/collapse chevron button in EuiToolTip. Add aria-hidden to decorative category icons.
Roles → Kibana privileges → space table privilege_space_table.tsx Wrap "Edit" (✏️) and "Delete" (🗑) row-action icon buttons in EuiToolTip. Add aria-hidden to empty filler icon.
Copy to space → result details space_result_details.tsx Replace <p className="eui-textTruncate" title={name}> with <EuiTextTruncate text={name} />.
Space settings → solution view callout solution_view_switch_callout_internal.tsx Wrap the callout's "Dismiss" (×) icon button in EuiToolTip.
Space selector card space_card.tsx Replace title attribute on EuiTextColor description with a wrapping EuiToolTip.

iconType={expandedFeatures.includes(featureId) ? 'chevronSingleUp' : 'chevronSingleDown'}
/>
<EuiToolTip
content={expandedFeatures.includes(featureId) ? 'Collapse' : 'Expand'}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems unnecessary to add the additional tooltip text here given the style of the button and the inclusion of aria-label, but I am not opposed to it either.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tooltip is for sighted users to understand what this button does. aria-label allows screen readers to announce the button appropriately.

Our recommendation as EUI team: always wrap EuiButtonIcon with EuiToolTip and always pass aria-label to it.

@kibanamachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #168 / Cloud Security Posture POST /internal/cloud_security_posture/graph Happy flows Graph without data enrichment should return 200 when securitySolution:enableAssetInventory is true without enrich policy
  • [job] [logs] FTR Configs #157 / Dashboard dashboard in space Storing search sessions in space Saves and restores a session

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
security 550.1KB 551.9KB +1.8KB
spaces 252.6KB 252.8KB +186.0B
total +1.9KB

History

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels EUI release_note:skip Skip the PR/issue when compiling release notes v9.4.2 v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants