chore: experiment with stable aria refs (#35900)
	
		
			
	
		
	
	
		
			
				
	
				infra / docs & lint (push) Waiting to run
				
					Details
				
			
		
			
				
	
				infra / Lint snippets (push) Waiting to run
				
					Details
				
			
		
			
				
	
				Check client side changes / Check (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (20, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (22, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Stress - ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Stress - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Stress - ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / WebView2 (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time library - ${{ matrix.clock }} (frozen) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time library - ${{ matrix.clock }} (realtime) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time test runner - ${{ matrix.clock }} (frozen) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time test runner - ${{ matrix.clock }} (realtime) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Electron - ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Electron - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Electron - ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 18, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 20, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 22, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (firefox, 18, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (webkit, 18, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (chromium tip-of-tree) (ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, macos-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, macos-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, ubuntu-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, ubuntu-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, windows-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, windows-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (20, ubuntu-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (20, ubuntu-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (22, ubuntu-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (22, ubuntu-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Web Components (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / VSCode Extension (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Installation Test ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Installation Test ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Installation Test ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-13-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-13-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-13-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-13-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-13-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-13-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Windows (chromium) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Windows (firefox) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Windows (webkit) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (20, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (22, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Transport (driver) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Transport (service) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium, chromium-tip-of-tree) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (firefox) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (webkit) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, macos-13) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, macos-13) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree headless-shell-${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Firefox Beta ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Firefox Beta ${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Firefox Beta ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / build-playwright-driver (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test channel=chromium (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test channel=chromium (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test channel=chromium (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (chromium, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (chromium, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (firefox, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (firefox, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (webkit, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (webkit, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				Internal Tests / trigger (push) Waiting to run
				
					Details
				
			
		
	
				
					
				
			
				
	
				infra / docs & lint (push) Waiting to run
				
					Details
				
			
		
			
				
	
				infra / Lint snippets (push) Waiting to run
				
					Details
				
			
		
			
				
	
				Check client side changes / Check (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (20, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (22, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Stress - ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Stress - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Stress - ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / WebView2 (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time library - ${{ matrix.clock }} (frozen) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time library - ${{ matrix.clock }} (realtime) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time test runner - ${{ matrix.clock }} (frozen) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / time test runner - ${{ matrix.clock }} (realtime) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Electron - ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Electron - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests others / Electron - ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 18, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 20, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 22, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (firefox, 18, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (webkit, 18, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / ${{ matrix.os }} (chromium tip-of-tree) (ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, macos-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, macos-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, ubuntu-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, ubuntu-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, windows-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (18, windows-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (20, ubuntu-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (20, ubuntu-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (22, ubuntu-latest, 1, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Test Runner (22, ubuntu-latest, 2, 2) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Web Components (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / VSCode Extension (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Installation Test ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Installation Test ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 1 / Installation Test ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-13-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-13-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-13-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-13-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-13-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-13-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-large) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Windows (chromium) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Windows (firefox) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Windows (webkit) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (20, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (22, ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, macos-14-xlarge) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Transport (driver) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Transport (service) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium, chromium-tip-of-tree) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (firefox) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (webkit) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, macos-13) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, macos-13) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Chromium tip-of-tree headless-shell-${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Firefox Beta ${{ matrix.os }} (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Firefox Beta ${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Firefox Beta ${{ matrix.os }} (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / build-playwright-driver (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test channel=chromium (macos-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test channel=chromium (ubuntu-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests 2 / Test channel=chromium (windows-latest) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (chromium, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (chromium, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (firefox, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (firefox, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (webkit, ubuntu-22.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				tests Video / Video Linux (webkit, ubuntu-24.04) (push) Waiting to run
				
					Details
				
			
		
			
				
	
				Internal Tests / trigger (push) Waiting to run
				
					Details
				
			
		
	This commit is contained in:
		
							parent
							
								
									7850c15e0e
								
							
						
					
					
						commit
						3196aff329
					
				|  | @ -26,6 +26,7 @@ import type { Box } from './domUtils'; | |||
| export type AriaNode = AriaProps & { | ||||
|   role: AriaRole | 'fragment' | 'iframe'; | ||||
|   name: string; | ||||
|   ref?: number; | ||||
|   children: (AriaNode | string)[]; | ||||
|   element: Element; | ||||
|   box: Box; | ||||
|  | @ -36,28 +37,24 @@ export type AriaNode = AriaProps & { | |||
| export type AriaSnapshot = { | ||||
|   root: AriaNode; | ||||
|   elements: Map<number, Element>; | ||||
|   generation: number; | ||||
|   ids: Map<Element, number>; | ||||
| }; | ||||
| 
 | ||||
| export function generateAriaTree(rootElement: Element, generation: number, options?: { forAI?: boolean }): AriaSnapshot { | ||||
| type AriaRef = { | ||||
|   role: string; | ||||
|   name: string; | ||||
|   ref: number; | ||||
| }; | ||||
| 
 | ||||
| let lastRef = 0; | ||||
| 
 | ||||
| export function generateAriaTree(rootElement: Element, options?: { forAI?: boolean }): AriaSnapshot { | ||||
|   const visited = new Set<Node>(); | ||||
| 
 | ||||
|   const snapshot: AriaSnapshot = { | ||||
|     root: { role: 'fragment', name: '', children: [], element: rootElement, props: {}, box: box(rootElement), receivesPointerEvents: true }, | ||||
|     elements: new Map<number, Element>(), | ||||
|     generation, | ||||
|     ids: new Map<Element, number>(), | ||||
|   }; | ||||
| 
 | ||||
|   const addElement = (element: Element) => { | ||||
|     const id = snapshot.elements.size + 1; | ||||
|     snapshot.elements.set(id, element); | ||||
|     snapshot.ids.set(element, id); | ||||
|   }; | ||||
| 
 | ||||
|   addElement(rootElement); | ||||
| 
 | ||||
|   const visit = (ariaNode: AriaNode, node: Node) => { | ||||
|     if (visited.has(node)) | ||||
|       return; | ||||
|  | @ -91,10 +88,12 @@ export function generateAriaTree(rootElement: Element, generation: number, optio | |||
|       } | ||||
|     } | ||||
| 
 | ||||
|     addElement(element); | ||||
|     const childAriaNode = toAriaNode(element, options); | ||||
|     if (childAriaNode) | ||||
|     if (childAriaNode) { | ||||
|       if (childAriaNode.ref) | ||||
|         snapshot.elements.set(childAriaNode.ref, element); | ||||
|       ariaNode.children.push(childAriaNode); | ||||
|     } | ||||
|     processElement(childAriaNode || ariaNode, element, ariaChildren); | ||||
|   }; | ||||
| 
 | ||||
|  | @ -150,9 +149,32 @@ export function generateAriaTree(rootElement: Element, generation: number, optio | |||
|   return snapshot; | ||||
| } | ||||
| 
 | ||||
| function ariaRef(element: Element, role: string, name: string, options?: { forAI?: boolean }): number | undefined { | ||||
|   if (!options?.forAI) | ||||
|     return undefined; | ||||
| 
 | ||||
|   let ariaRef: AriaRef | undefined; | ||||
|   ariaRef = (element as any)._ariaRef; | ||||
|   if (!ariaRef || ariaRef.role !== role || ariaRef.name !== name) { | ||||
|     ariaRef = { role, name, ref: ++lastRef }; | ||||
|     (element as any)._ariaRef = ariaRef; | ||||
|   } | ||||
|   return ariaRef.ref; | ||||
| } | ||||
| 
 | ||||
| function toAriaNode(element: Element, options?: { forAI?: boolean }): AriaNode | null { | ||||
|   if (element.nodeName === 'IFRAME') | ||||
|     return { role: 'iframe', name: '', children: [], props: {}, element, box: box(element), receivesPointerEvents: true }; | ||||
|   if (element.nodeName === 'IFRAME') { | ||||
|     return { | ||||
|       role: 'iframe', | ||||
|       name: '', | ||||
|       ref: ariaRef(element, 'iframe', '', options), | ||||
|       children: [], | ||||
|       props: {}, | ||||
|       element, | ||||
|       box: box(element), | ||||
|       receivesPointerEvents: true | ||||
|     }; | ||||
|   } | ||||
| 
 | ||||
|   const defaultRole = options?.forAI ? 'generic' : null; | ||||
|   const role = roleUtils.getAriaRole(element) ?? defaultRole; | ||||
|  | @ -161,7 +183,17 @@ function toAriaNode(element: Element, options?: { forAI?: boolean }): AriaNode | | |||
| 
 | ||||
|   const name = normalizeWhiteSpace(roleUtils.getElementAccessibleName(element, false) || ''); | ||||
|   const receivesPointerEvents = roleUtils.receivesPointerEvents(element); | ||||
|   const result: AriaNode = { role, name, children: [], props: {}, element, box: box(element), receivesPointerEvents }; | ||||
| 
 | ||||
|   const result: AriaNode = { | ||||
|     role, | ||||
|     name, | ||||
|     ref: ariaRef(element, role, name, options), | ||||
|     children: [], | ||||
|     props: {}, | ||||
|     element, | ||||
|     box: box(element), | ||||
|     receivesPointerEvents | ||||
|   }; | ||||
| 
 | ||||
|   if (roleUtils.kAriaCheckedRoles.includes(role)) | ||||
|     result.checked = roleUtils.getAriaChecked(element); | ||||
|  | @ -266,7 +298,7 @@ export type MatcherReceived = { | |||
| }; | ||||
| 
 | ||||
| export function matchesAriaTree(rootElement: Element, template: AriaTemplateNode): { matches: AriaNode[], received: MatcherReceived } { | ||||
|   const snapshot = generateAriaTree(rootElement, 0); | ||||
|   const snapshot = generateAriaTree(rootElement); | ||||
|   const matches = matchesNodeDeep(snapshot.root, template, false, false); | ||||
|   return { | ||||
|     matches, | ||||
|  | @ -278,7 +310,7 @@ export function matchesAriaTree(rootElement: Element, template: AriaTemplateNode | |||
| } | ||||
| 
 | ||||
| export function getAllByAria(rootElement: Element, template: AriaTemplateNode): Element[] { | ||||
|   const root = generateAriaTree(rootElement, 0).root; | ||||
|   const root = generateAriaTree(rootElement).root; | ||||
|   const matches = matchesNodeDeep(root, template, true, false); | ||||
|   return matches.map(n => n.element); | ||||
| } | ||||
|  | @ -408,10 +440,10 @@ export function renderAriaTree(ariaSnapshot: AriaSnapshot, options?: { mode?: 'r | |||
|     if (ariaNode.selected === true) | ||||
|       key += ` [selected]`; | ||||
|     if (options?.forAI && receivesPointerEvents(ariaNode)) { | ||||
|       const id = ariaSnapshot.ids.get(ariaNode.element); | ||||
|       const ref = ariaNode.ref; | ||||
|       const cursor = hasPointerCursor(ariaNode) ? ' [cursor=pointer]' : ''; | ||||
|       if (id) | ||||
|         key += ` [ref=s${ariaSnapshot.generation}e${id}]${cursor}`; | ||||
|       if (ref) | ||||
|         key += ` [ref=e${ref}]${cursor}`; | ||||
|     } | ||||
| 
 | ||||
|     const escapedKey = indent + '- ' + yamlEscapeKeyIfNeeded(key); | ||||
|  |  | |||
|  | @ -227,7 +227,7 @@ export class InjectedScript { | |||
|     this._engines.set('internal:attr', this._createNamedAttributeEngine()); | ||||
|     this._engines.set('internal:testid', this._createNamedAttributeEngine()); | ||||
|     this._engines.set('internal:role', createRoleEngine(true)); | ||||
|     this._engines.set('aria-ref', this._createAriaIdEngine()); | ||||
|     this._engines.set('aria-ref', this._createAriaRefEngine()); | ||||
| 
 | ||||
|     for (const { name, source } of options.customEngines) | ||||
|       this._engines.set(name, this.eval(source)); | ||||
|  | @ -300,15 +300,10 @@ export class InjectedScript { | |||
|   ariaSnapshot(node: Node, options?: { mode?: 'raw' | 'regex', forAI?: boolean }): string { | ||||
|     if (node.nodeType !== Node.ELEMENT_NODE) | ||||
|       throw this.createStacklessError('Can only capture aria snapshot of Element nodes.'); | ||||
|     const generation = (this._lastAriaSnapshot?.generation || 0) + 1; | ||||
|     this._lastAriaSnapshot = generateAriaTree(node as Element, generation, options); | ||||
|     this._lastAriaSnapshot = generateAriaTree(node as Element, options); | ||||
|     return renderAriaTree(this._lastAriaSnapshot, options); | ||||
|   } | ||||
| 
 | ||||
|   ariaSnapshotElement(snapshot: AriaSnapshot, elementId: number): Element | null { | ||||
|     return snapshot.elements.get(elementId) || null; | ||||
|   } | ||||
| 
 | ||||
|   getAllByAria(document: Document, template: AriaTemplateNode): Element[] { | ||||
|     return getAllByAria(document.documentElement, template); | ||||
|   } | ||||
|  | @ -678,15 +673,12 @@ export class InjectedScript { | |||
|     return result; | ||||
|   } | ||||
| 
 | ||||
|   _createAriaIdEngine() { | ||||
|   _createAriaRefEngine() { | ||||
|     const queryAll = (root: SelectorRoot, selector: string): Element[] => { | ||||
|       const match = selector.match(/^s(\d+)e(\d+)$/); | ||||
|       if (!match) | ||||
|         throw this.createStacklessError('Invalid aria-ref selector, should be of form s<number>e<number>'); | ||||
|       const [, generation, elementId] = match; | ||||
|       if (this._lastAriaSnapshot?.generation !== +generation) | ||||
|         throw this.createStacklessError(`Stale aria-ref, expected s${this._lastAriaSnapshot?.generation}e{number}, got ${selector}`); | ||||
|       const result = this._lastAriaSnapshot?.elements?.get(+elementId); | ||||
|       if (!selector.startsWith('e')) | ||||
|         throw this.createStacklessError(`Invalid aria-ref selector "${selector}"`); | ||||
|       const ref = +selector.substring(1); | ||||
|       const result = this._lastAriaSnapshot?.elements?.get(ref); | ||||
|       return result && result.isConnected ? [result] : []; | ||||
|     }; | ||||
|     return { queryAll }; | ||||
|  |  | |||
|  | @ -27,20 +27,27 @@ it('should generate refs', async ({ page }) => { | |||
|   `);
 | ||||
| 
 | ||||
|   const snapshot1 = await page.locator('body').ariaSnapshot(forAI); | ||||
|   expect(snapshot1).toContain('- button "One" [ref=s1e3]'); | ||||
|   expect(snapshot1).toContain('- button "Two" [ref=s1e4]'); | ||||
|   expect(snapshot1).toContain('- button "Three" [ref=s1e5]'); | ||||
|   expect(snapshot1).toContainYaml(` | ||||
|     - generic [ref=e1]: | ||||
|       - button "One" [ref=e2] | ||||
|       - button "Two" [ref=e3] | ||||
|       - button "Three" [ref=e4] | ||||
|   `);
 | ||||
|   await expect(page.locator('aria-ref=e2')).toHaveText('One'); | ||||
|   await expect(page.locator('aria-ref=e3')).toHaveText('Two'); | ||||
|   await expect(page.locator('aria-ref=e4')).toHaveText('Three'); | ||||
| 
 | ||||
|   await expect(page.locator('aria-ref=s1e3')).toHaveText('One'); | ||||
|   await expect(page.locator('aria-ref=s1e4')).toHaveText('Two'); | ||||
|   await expect(page.locator('aria-ref=s1e5')).toHaveText('Three'); | ||||
|   await page.locator('aria-ref=e3').evaluate((e: HTMLElement) => { | ||||
|     e.textContent = 'Not Two'; | ||||
|   }); | ||||
| 
 | ||||
|   const snapshot2 = await page.locator('body').ariaSnapshot(forAI); | ||||
|   expect(snapshot2).toContain('- button "One" [ref=s2e3]'); | ||||
|   await expect(page.locator('aria-ref=s2e3')).toHaveText('One'); | ||||
| 
 | ||||
|   const e = await expect(page.locator('aria-ref=s1e3')).toHaveText('One').catch(e => e); | ||||
|   expect(e.message).toContain('Error: Stale aria-ref, expected s2e{number}, got s1e3'); | ||||
|   expect(snapshot2).toContainYaml(` | ||||
|     - generic [ref=e1]: | ||||
|       - button "One" [ref=e2] | ||||
|       - button "Not Two" [ref=e5] | ||||
|       - button "Three" [ref=e4] | ||||
|   `);
 | ||||
| }); | ||||
| 
 | ||||
| it('should list iframes', async ({ page }) => { | ||||
|  | @ -80,15 +87,15 @@ it('ref mode can be used to stitch all frame snapshots', async ({ page, server } | |||
|   } | ||||
| 
 | ||||
|   expect(await allFrameSnapshot(page)).toContainYaml(` | ||||
|     - generic [ref=s1e2]: | ||||
|       - iframe [ref=s1e3]: | ||||
|         - generic [ref=s1e2]: | ||||
|           - iframe [ref=s1e3]: | ||||
|             - generic [ref=s1e3]: Hi, I'm frame | ||||
|           - iframe [ref=s1e4]: | ||||
|             - generic [ref=s1e3]: Hi, I'm frame | ||||
|       - iframe [ref=s1e4]: | ||||
|         - generic [ref=s1e3]: Hi, I'm frame | ||||
|     - generic [ref=e1]: | ||||
|       - iframe [ref=e2]: | ||||
|         - generic [ref=e1]: | ||||
|           - iframe [ref=e2]: | ||||
|             - generic [ref=e2]: Hi, I'm frame | ||||
|           - iframe [ref=e3]: | ||||
|             - generic [ref=e2]: Hi, I'm frame | ||||
|       - iframe [ref=e3]: | ||||
|         - generic [ref=e2]: Hi, I'm frame | ||||
|   `);
 | ||||
| }); | ||||
| 
 | ||||
|  | @ -101,10 +108,10 @@ it('should not generate refs for hidden elements', async ({ page }) => { | |||
| 
 | ||||
|   const snapshot = await page.locator('body').ariaSnapshot(forAI); | ||||
|   expect(snapshot).toContainYaml(` | ||||
|     - generic [ref=s1e2]: | ||||
|       - button "One" [ref=s1e3] | ||||
|     - generic [ref=e1]: | ||||
|       - button "One" [ref=e2] | ||||
|       - button "Two" | ||||
|       - button "Three" [ref=s1e5] | ||||
|       - button "Three" [ref=e4] | ||||
|   `);
 | ||||
| }); | ||||
| 
 | ||||
|  | @ -133,12 +140,12 @@ it('should not generate refs for elements with pointer-events:none', async ({ pa | |||
| 
 | ||||
|   const snapshot = await page.locator('body').ariaSnapshot(forAI); | ||||
|   expect(snapshot).toContainYaml(` | ||||
|     - generic [ref=s1e2]: | ||||
|     - generic [ref=e1]: | ||||
|       - button "no-ref" | ||||
|       - button "with-ref" [ref=s1e5] | ||||
|       - button "with-ref" [ref=s1e8] | ||||
|       - button "with-ref" [ref=s1e11] | ||||
|       - generic [ref=s1e12]: | ||||
|       - button "with-ref" [ref=e4] | ||||
|       - button "with-ref" [ref=e7] | ||||
|       - button "with-ref" [ref=e10] | ||||
|       - generic [ref=e11]: | ||||
|         - generic: | ||||
|           - button "no-ref" | ||||
|   `);
 | ||||
|  | @ -178,19 +185,19 @@ it('emit generic roles for nodes w/o roles', async ({ page }) => { | |||
|   const snapshot = await page.locator('body').ariaSnapshot(forAI); | ||||
| 
 | ||||
|   expect(snapshot).toContainYaml(` | ||||
|     - generic [ref=s1e3]: | ||||
|       - generic [ref=s1e4]: | ||||
|         - generic [ref=s1e5]: | ||||
|     - generic [ref=e2]: | ||||
|       - generic [ref=e3]: | ||||
|         - generic [ref=e4]: | ||||
|           - radio "Apple" [checked] | ||||
|         - generic [ref=s1e7]: Apple | ||||
|       - generic [ref=s1e8]: | ||||
|         - generic [ref=s1e9]: | ||||
|         - generic [ref=e6]: Apple | ||||
|       - generic [ref=e7]: | ||||
|         - generic [ref=e8]: | ||||
|           - radio "Pear" | ||||
|         - generic [ref=s1e11]: Pear | ||||
|       - generic [ref=s1e12]: | ||||
|         - generic [ref=s1e13]: | ||||
|         - generic [ref=e10]: Pear | ||||
|       - generic [ref=e11]: | ||||
|         - generic [ref=e12]: | ||||
|           - radio "Orange" | ||||
|         - generic [ref=s1e15]: Orange | ||||
|         - generic [ref=e14]: Orange | ||||
|   `);
 | ||||
| }); | ||||
| 
 | ||||
|  | @ -207,7 +214,7 @@ it('should collapse generic nodes', async ({ page }) => { | |||
| 
 | ||||
|   const snapshot = await page.locator('body').ariaSnapshot(forAI); | ||||
|   expect(snapshot).toContainYaml(` | ||||
|     - button \"Button\" [ref=s1e6] | ||||
|     - button \"Button\" [ref=e5] | ||||
|   `);
 | ||||
| }); | ||||
| 
 | ||||
|  | @ -218,6 +225,6 @@ it('should include cursor pointer hint', async ({ page }) => { | |||
| 
 | ||||
|   const snapshot = await page.locator('body').ariaSnapshot(forAI); | ||||
|   expect(snapshot).toContainYaml(` | ||||
|     - button \"Button\" [ref=s1e3] [cursor=pointer] | ||||
|     - button \"Button\" [ref=e2] [cursor=pointer] | ||||
|   `);
 | ||||
| }); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue