Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Security Solution] [Security Assistant] Fixes Security Assistant acc…
…essibility (a11y) issues (elastic#207122) ### [Security Solution] [Security Assistant] Fixes Security Assistant accessibility (a11y) issues This PR fixes the following Security Assistant accessibility (a11y) issues: - <elastic#206348> - _The ai assistant settings and actions button is announced wrong_ - <elastic#206362> - _Close button on View in AI assistant is missing discernible text_ - <elastic#206875> - _Anonymization button doesn't get announced and doesn't have enough context in the tooltip about when it gets enabled_ ### Details #### [206348](elastic#206348) - The ai assistant settings and actions button is announced wrong This issue was resolved by adding an `aria-label` to the assistant settings context menu. This fix was desk tested using Voiceover, as illustrated by the following screenshots: **Before:**  **After:**  Desk testing: see [206348](elastic#206348) for reproduction steps #### [206362](elastic#206362) - Close button on View in AI assistant is missing discernible text This issue was resolved by adding an `aria-label` to the assistant close button. This fix was desk tested using Axe, as illustrated by the following screenshots: **Before:**  **After:**  Desk testing: see [206362](elastic#206362) for reproduction steps #### [206875](elastic#206875) - Anonymization button doesn't get announced and doesn't have enough context in the tooltip about when it gets enabled Issue [206875](elastic#206875) includes the following statement: > Anonymization button doesn't get announced and doesn't have enough context in the tooltip about when it gets disabled. All it says right now "show anonymized" The first part of the statement above: > Anonymization button doesn't get announced appears to be in reference to when the Anonymization toggle button is disabled. This is unfortunately expected, because screen readers do NOT announce disabled buttons, as described in articles like <https://css-tricks.com/making-disabled-buttons-more-inclusive/> The second part of the statement above: > doesn't have enough context in the tooltip about when it gets enabled is addressed by this PR, though there is still a quirk described in detail below. In this PR, when a conversation does NOT have replacements, a new (different) tooltip is displayed, as illustrated by the before / after screenshots below: **Before:**  _Above: Before the fix, the tooltip for the disabled button reads:_ `Show anonymized` **After:**  _Above: After the fix, the tooltip for the disabled button reads:_ `This conversation does not include anonymized fields` Note that there is still a quirk with the button, which is not addressed by this fix: The current implementation enables the `Show anonymized` button when the conversation has _any_ replacements, regardless of whether or not the replacements are applicable to the rendered conversation. As a result, when replacements are present, but not applicable to the rendered conversation, the user may toggle the enabled button, but will not observe any changes to the rendered conversation. Alternatively, the replacements could be applied to the conversation before rendering to facilitate a comparison: If the original conversation and applied conversation are identical, the anonymization button should be disabled. If they are the different, the button should be enabled. This alternative was NOT implemented in this PR. Desk testing: see [206875](elastic#206875) for reproduction steps
- add_esql_lens
- (elastic/kibana#207122)
- add_panel_button
- (elastic/kibana#207122)
- async_vis_types_registry
- (elastic/kibana#207148, elastic/kibana#207122)
- backport/9.0/pr-208116
- (elastic/kibana#207122)
- bundle_test
- (elastic/kibana#207122)
- canvas_embeddable_input
- (elastic/kibana#207122)
- controls_embeddable_input
- (elastic/kibana#211851, elastic/kibana#207122)
- dashboard_container_input
- (elastic/kibana#207122)
- dashboard_folder_cleanup
- (elastic/kibana#212587, elastic/kibana#207122)
- discover_actions
- (elastic/kibana#211974, elastic/kibana#207122)
- fetch_chunks
- (elastic/kibana#207122)
- globe
- (elastic/kibana#212437, elastic/kibana#207122)
- image_actions
- (elastic/kibana#209398, elastic/kibana#207122)
- issue_177564
- (elastic/kibana#211635, elastic/kibana#207122)
- issue_197475
- (elastic/kibana#207122)
- issue_200748
- (elastic/kibana#211653, elastic/kibana#207122)
- issue_204987
- (elastic/kibana#207122)
- issue_206104
- (elastic/kibana#207122)
- issue_206921
- (elastic/kibana#207122)
- issue_208138
- (elastic/kibana#207122)
- issue_208138_2
- (elastic/kibana#207122)
- issue_209228
- (elastic/kibana#211310, elastic/kibana#207122)
- issue_209566
- (elastic/kibana#207122)
- issue_210125_followup
- (elastic/kibana#207122)
- issue_211659
- (elastic/kibana#211661, elastic/kibana#207122)
- links_actions
- (elastic/kibana#207122)
- main
- (elastic/kibana#207122)
- map_actions_2
- (elastic/kibana#207122)
- maplibre-5.1.0
- (elastic/kibana#207122)
- ml_actions
- (elastic/kibana#207122)
- obs_actions
- (elastic/kibana#207122)
- only_add_panel_action
- (elastic/kibana#207122)
- pallettes
- (elastic/kibana#209928, elastic/kibana#207122)
- remove_cm_service
- (elastic/kibana#210456, elastic/kibana#207122)
- remove_embeddable_input
- (elastic/kibana#211949, elastic/kibana#207122)
- remove_legacy_from_add_panel
- (elastic/kibana#207122)
- remove_panel_state_type
- (elastic/kibana#207122)
- remove_saved_object_embeddable_input
- (elastic/kibana#210907, elastic/kibana#207122)
- remove_view_mode
- (elastic/kibana#211960, elastic/kibana#207122)
- remove_visualizations_service
- (elastic/kibana#207122)
- search_navigation_chunk
- (elastic/kibana#207122)
- set_control_example
- (elastic/kibana#207122)
- uptime_chunk
- (elastic/kibana#207122)
- visualizations.chunk
- (elastic/kibana#207122)
- visualizations_controls
- (elastic/kibana#207122)