11import { describe , expect , it } from "vitest" ;
2+ import { createElement } from "react" ;
3+ import { renderToStaticMarkup } from "react-dom/server" ;
24
3- import { accessibilityDomTagName } from "./AccessibilityOverlay" ;
5+ import {
6+ AccessibilityOverlay ,
7+ accessibilityDomTagName ,
8+ } from "./AccessibilityOverlay" ;
49
510describe ( "accessibilityDomTagName" , ( ) => {
611 it ( "uses source and component names for annotator-friendly custom tags" , ( ) => {
@@ -24,3 +29,30 @@ describe("accessibilityDomTagName", () => {
2429 ) . toBe ( "simdeck-range-and-filter-bar" ) ;
2530 } ) ;
2631} ) ;
32+
33+ describe ( "AccessibilityOverlay" , ( ) => {
34+ it ( "does not attach browser-native hover tooltips to selection nodes" , ( ) => {
35+ const markup = renderToStaticMarkup (
36+ createElement ( AccessibilityOverlay , {
37+ hoveredId : null ,
38+ roots : [
39+ {
40+ frame : { height : 844 , width : 390 , x : 0 , y : 0 } ,
41+ role : "application" ,
42+ children : [
43+ {
44+ AXLabel : "Continue" ,
45+ frame : { height : 48 , width : 180 , x : 105 , y : 720 } ,
46+ type : "Button" ,
47+ } ,
48+ ] ,
49+ } ,
50+ ] ,
51+ selectedId : "" ,
52+ } ) ,
53+ ) ;
54+
55+ expect ( markup ) . toContain ( 'aria-label="SimDeck accessibility element' ) ;
56+ expect ( markup ) . not . toContain ( " title=" ) ;
57+ } ) ;
58+ } ) ;
0 commit comments