A11y: Fix exemplar marker accessibility (#73493)

* fix(a11y): exemplar marker
This commit is contained in:
Ihor Yeromin
2023-08-22 18:59:36 +02:00
committed by GitHub
parent bf5f2c8fb1
commit 6db5ef2b82
@@ -202,20 +202,27 @@ export const ExemplarMarker = ({
.getSeries() .getSeries()
.find((s) => s.props.dataFrameFieldIndex?.frameIndex === dataFrameFieldIndex.frameIndex)?.props.lineColor; .find((s) => s.props.dataFrameFieldIndex?.frameIndex === dataFrameFieldIndex.frameIndex)?.props.lineColor;
const onExemplarClick = () => {
setClickedExemplarFieldIndex(dataFrameFieldIndex);
lockExemplarModal();
};
return ( return (
<> <>
{/* TODO: fix keyboard a11y */}
{/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}
<div <div
ref={setMarkerElement} ref={setMarkerElement}
onClick={() => { onClick={onExemplarClick}
setClickedExemplarFieldIndex(dataFrameFieldIndex); onKeyDown={(e: React.KeyboardEvent) => {
lockExemplarModal(); if (e.key === 'Enter') {
onExemplarClick();
}
}} }}
onMouseEnter={onMouseEnter} onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave} onMouseLeave={onMouseLeave}
className={styles.markerWrapper} className={styles.markerWrapper}
aria-label={selectors.components.DataSource.Prometheus.exemplarMarker} aria-label={selectors.components.DataSource.Prometheus.exemplarMarker}
role="button"
tabIndex={0}
> >
<svg <svg
viewBox="0 0 7 7" viewBox="0 0 7 7"