-

-

+
diff --git a/docs/assets/a11y-chart.svg b/docs/assets/a11y-chart.svg
new file mode 100644
index 0000000..e6bc6b1
--- /dev/null
+++ b/docs/assets/a11y-chart.svg
@@ -0,0 +1,8 @@
+
diff --git a/docs/assets/a11y-divider.svg b/docs/assets/a11y-divider.svg
new file mode 100644
index 0000000..76fe2db
--- /dev/null
+++ b/docs/assets/a11y-divider.svg
@@ -0,0 +1,6 @@
+
diff --git a/docs/assets/a11y-logo.svg b/docs/assets/a11y-logo.svg
new file mode 100644
index 0000000..461d73c
--- /dev/null
+++ b/docs/assets/a11y-logo.svg
@@ -0,0 +1,5 @@
+
diff --git a/docs/assets/a11y-photo.svg b/docs/assets/a11y-photo.svg
new file mode 100644
index 0000000..03a01dd
--- /dev/null
+++ b/docs/assets/a11y-photo.svg
@@ -0,0 +1,12 @@
+
diff --git a/docs/assets/a11y-warning.svg b/docs/assets/a11y-warning.svg
new file mode 100644
index 0000000..8f1bab3
--- /dev/null
+++ b/docs/assets/a11y-warning.svg
@@ -0,0 +1,6 @@
+
diff --git a/web-tests/config/accessibility.yml b/web-tests/config/accessibility.yml
new file mode 100644
index 0000000..ffd9f7a
--- /dev/null
+++ b/web-tests/config/accessibility.yml
@@ -0,0 +1,28 @@
+# Accessibility — BrowserStack config
+# Runs the accessibility test on Automate with BrowserStack Accessibility Testing enabled.
+# Run: BROWSERSTACK_CONFIG_FILE='config/accessibility.yml' browserstack-node-sdk jest --testPathPattern=tests/accessibility
+
+userName: ${BROWSERSTACK_USERNAME}
+accessKey: ${BROWSERSTACK_ACCESS_KEY}
+
+projectName: BrowserStack Demo
+buildName: Accessibility Demo
+buildIdentifier: "#${BUILD_NUMBER}"
+
+platforms:
+ - browserName: chrome
+ browser_version: latest
+ os: Windows
+ os_version: 10
+
+# Accessibility Testing
+accessibility: true
+accessibilityOptions:
+ wcagVersion: wcag21aa
+ includeIssueType:
+ bestPractice: true
+ needsReview: true
+
+parallelsPerPlatform: 1
+browserstackLocal: false
+idleTimeout: 300
diff --git a/web-tests/local.log b/web-tests/local.log
index cb7993b..1ca2496 100644
--- a/web-tests/local.log
+++ b/web-tests/local.log
@@ -1,41 +1,94 @@
-
-Tue Oct 13 2026 14:23:08:390 GMT+0530 (IST) -- Binary semantic version is v8.9.22
-Tue Oct 13 2026 14:23:08:391 GMT+0530 (IST) -- Setting output as extra verbose with request parsing
-Tue Oct 13 2026 14:23:08:392 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
-Tue Oct 13 2026 14:23:08:394 GMT+0530 (IST) -- Proxy is configured
-Tue Oct 13 2026 14:23:09:46 GMT+0530 (IST) -- Starting configuration console on http://localhost:45454
-Tue Oct 13 2026 14:23:11:120 GMT+0530 (IST) -- [SUCCESS] You can now access your local server(s) in our remote browser
-
-Tue Oct 13 2026 14:23:11:359 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
-Tue Oct 13 2026 14:23:11:373 GMT+0530 (IST) -- Proxy is configured
-Tue Oct 13 2026 14:23:11:372 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
-Tue Oct 13 2026 14:23:11:385 GMT+0530 (IST) -- Proxy is configured
-Tue Oct 13 2026 14:23:11:386 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
-Tue Oct 13 2026 14:23:11:399 GMT+0530 (IST) -- Proxy is configured
-Tue Oct 13 2026 14:23:12:757 GMT+0530 (IST) -- Error in establishing connection.
-Tue Oct 13 2026 14:23:12:758 GMT+0530 (IST) -- unexpected server response (502)
-Tue Oct 13 2026 14:23:12:798 GMT+0530 (IST) -- Error in establishing connection.
-Tue Oct 13 2026 14:23:12:798 GMT+0530 (IST) -- unexpected server response (502)
-Tue Oct 13 2026 14:23:13:78 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
-Tue Oct 13 2026 14:23:13:79 GMT+0530 (IST) -- Platform supports WebSocket connections.
-
-Tue Oct 13 2026 14:23:14:935 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
-Tue Oct 13 2026 14:23:14:936 GMT+0530 (IST) -- Platform supports WebSocket connections.
-
-Tue Oct 13 2026 14:23:15:950 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
-Tue Oct 13 2026 14:23:15:951 GMT+0530 (IST) -- Platform supports WebSocket connections.
-
-Tue Oct 13 2026 14:23:16:382 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
-Tue Oct 13 2026 14:23:16:385 GMT+0530 (IST) -- Press Ctrl-C to exit
-
-
-Tue Oct 13 2026 14:23:16:383 GMT+0530 (IST) -- Platform supports WebSocket connections.
-
-Tue Oct 13 2026 14:23:35:573 GMT+0530 (IST) -- ID-1 Request to: localhost:3000
-Tue Oct 13 2026 14:23:35:581 GMT+0530 (IST) -- ID-1 [PARSING HANDSHAKE][9][8879171] Handshake request to localhost:3000
-Tue Oct 13 2026 14:23:35:582 GMT+0530 (IST) -- ID-1 Connecting to: localhost:3000
-Tue Oct 13 2026 14:23:35:603 GMT+0530 (IST) -- localhost:3000 socket connected.
-Tue Oct 13 2026 14:23:35:608 GMT+0530 (IST) -- ID-1 Connected to: 127.0.0.1
+
+Mon Oct 26 2026 13:08:55:147 GMT+0530 (IST) -- Binary semantic version is v8.9.36
+Mon Oct 26 2026 13:08:55:150 GMT+0530 (IST) -- Setting output as extra verbose with request parsing
+Mon Oct 26 2026 13:08:55:150 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:59943
+Mon Oct 26 2026 13:08:55:153 GMT+0530 (IST) -- Proxy is configured
+Mon Oct 26 2026 13:08:55:512 GMT+0530 (IST) -- Starting configuration console on http://localhost:45454
+Mon Oct 26 2026 13:08:58:227 GMT+0530 (IST) -- [SUCCESS] You can now access your local server(s) in our remote browser
+
+Mon Oct 26 2026 13:08:58:458 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:59943
+Mon Oct 26 2026 13:08:58:456 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:59943
+Mon Oct 26 2026 13:08:58:465 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:59943
+Mon Oct 26 2026 13:08:58:464 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:59943
+Mon Oct 26 2026 13:08:58:556 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:59943
+Mon Oct 26 2026 13:08:58:479 GMT+0530 (IST) -- Proxy is configured
+Mon Oct 26 2026 13:08:58:480 GMT+0530 (IST) -- Proxy is configured
+Mon Oct 26 2026 13:08:58:487 GMT+0530 (IST) -- Proxy is configured
+Mon Oct 26 2026 13:08:58:487 GMT+0530 (IST) -- Proxy is configured
+Mon Oct 26 2026 13:08:58:586 GMT+0530 (IST) -- Proxy is configured
+Mon Oct 26 2026 13:08:58:704 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Mon Oct 26 2026 13:08:58:704 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Mon Oct 26 2026 13:09:00:81 GMT+0530 (IST) -- Error in establishing connection.
+Mon Oct 26 2026 13:09:00:81 GMT+0530 (IST) -- Unexpected server response: 502
+Mon Oct 26 2026 13:09:00:267 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Mon Oct 26 2026 13:09:00:267 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Mon Oct 26 2026 13:09:00:598 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Mon Oct 26 2026 13:09:00:601 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Mon Oct 26 2026 13:09:02:605 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Mon Oct 26 2026 13:09:02:606 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Mon Oct 26 2026 13:09:03:688 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Mon Oct 26 2026 13:09:03:689 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Mon Oct 26 2026 13:09:19:418 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Mon Oct 26 2026 13:09:19:420 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Mon Oct 26 2026 13:09:19:427 GMT+0530 (IST) -- Press Ctrl-C to exit
+
+
+Mon Oct 26 2026 13:09:39:935 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:39:935 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800336] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:39:935 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:39:963 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:39:969 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:39:998 GMT+0530 (IST) -- [PARSING REQUEST][11][24800336] GET /accessibility.html HTTP/1.1
+Host: localhost:8765
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
+sec-ch-ua-mobile: ?0
+sec-ch-ua-platform: "Windows"
+Upgrade-Insecure-Requests: 1
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
+Tue Oct 13 2026 14:23:08:390 GMT+0530 (IST) -- Binary semantic version is v8.9.22
+Tue Oct 13 2026 14:23:08:391 GMT+0530 (IST) -- Setting output as extra verbose with request parsing
+Tue Oct 13 2026 14:23:08:392 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
+Tue Oct 13 2026 14:23:08:394 GMT+0530 (IST) -- Proxy is configured
+Tue Oct 13 2026 14:23:09:46 GMT+0530 (IST) -- Starting configuration console on http://localhost:45454
+Tue Oct 13 2026 14:23:11:120 GMT+0530 (IST) -- [SUCCESS] You can now access your local server(s) in our remote browser
+
+Tue Oct 13 2026 14:23:11:359 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
+Tue Oct 13 2026 14:23:11:373 GMT+0530 (IST) -- Proxy is configured
+Tue Oct 13 2026 14:23:11:372 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
+Tue Oct 13 2026 14:23:11:385 GMT+0530 (IST) -- Proxy is configured
+Tue Oct 13 2026 14:23:11:386 GMT+0530 (IST) -- Setting up proxy connection to 127.0.0.1:49464
+Tue Oct 13 2026 14:23:11:399 GMT+0530 (IST) -- Proxy is configured
+Tue Oct 13 2026 14:23:12:757 GMT+0530 (IST) -- Error in establishing connection.
+Tue Oct 13 2026 14:23:12:758 GMT+0530 (IST) -- unexpected server response (502)
+Tue Oct 13 2026 14:23:12:798 GMT+0530 (IST) -- Error in establishing connection.
+Tue Oct 13 2026 14:23:12:798 GMT+0530 (IST) -- unexpected server response (502)
+Tue Oct 13 2026 14:23:13:78 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Tue Oct 13 2026 14:23:13:79 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Tue Oct 13 2026 14:23:14:935 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Tue Oct 13 2026 14:23:14:936 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Tue Oct 13 2026 14:23:15:950 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Tue Oct 13 2026 14:23:15:951 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Tue Oct 13 2026 14:23:16:382 GMT+0530 (IST) -- Connecting to BrowserStack using WebSocket protocol...
+Tue Oct 13 2026 14:23:16:385 GMT+0530 (IST) -- Press Ctrl-C to exit
+
+
+Tue Oct 13 2026 14:23:16:383 GMT+0530 (IST) -- Platform supports WebSocket connections.
+
+Tue Oct 13 2026 14:23:35:573 GMT+0530 (IST) -- ID-1 Request to: localhost:3000
+Tue Oct 13 2026 14:23:35:581 GMT+0530 (IST) -- ID-1 [PARSING HANDSHAKE][9][8879171] Handshake request to localhost:3000
+Tue Oct 13 2026 14:23:35:582 GMT+0530 (IST) -- ID-1 Connecting to: localhost:3000
+Tue Oct 13 2026 14:23:35:603 GMT+0530 (IST) -- localhost:3000 socket connected.
+Tue Oct 13 2026 14:23:35:608 GMT+0530 (IST) -- ID-1 Connected to: 127.0.0.1
Tue Oct 13 2026 14:23:35:629 GMT+0530 (IST) -- ID-1 [PARSING REQUEST][9][8879171] GET /visual-regression.html?diff=off HTTP/1.1
Host: localhost:3000
sec-ch-ua: "Google Chrome";v="155", "Chromium";v="155", "Not(A:Brand";v="24"
@@ -52,7 +105,62 @@ Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
-
+
+Mon Oct 26 2026 13:09:40:12 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800336] HTTP/1.0 200 OK
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Content-type: text/html
+Content-Length: 10600
+Last-Modified: Mon, 26 Oct 2026 07:38:37 GMT
+
+ FROM localhost:8765
+Mon Oct 26 2026 13:09:40:14 GMT+0530 (IST) -- Writing 187 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:16 GMT+0530 (IST) -- Writing 10600 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:92 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:93 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800337] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:93 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:96 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:96 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:106 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:106 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800339] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:106 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:106 GMT+0530 (IST) -- [PARSING REQUEST][11][24800337] GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1
+Host: localhost:8765
+Sec-Fetch-Site: same-origin
+Sec-Fetch-Mode: no-cors
+Sec-Fetch-Dest: empty
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+Accept-Encoding: gzip, deflate, br, zstd
+Accept-Language: en-US,en;q=0.9
+Connection: keep-alive
+
+
+Mon Oct 26 2026 13:09:40:107 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:107 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:108 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800337] HTTP/1.0 404 File not found
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Connection: close
+Content-Type: text/html;charset=utf-8
+Content-Length: 469
+
+
+
+
+
+
Error response
+
+
+
Error response
+
Error code: 404
+ FROM localhost:8765
+Mon Oct 26 2026 13:09:40:108 GMT+0530 (IST) -- Writing 653 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:116 GMT+0530 (IST) -- [PARSING REQUEST][11][24800339] GET /style.css HTTP/1.1
+Host: localhost:8765
+sec-ch-ua-platform: "Windows"
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
Tue Oct 13 2026 14:23:35:639 GMT+0530 (IST) -- ID-1 [PARSING RESPONSE (500chars)][9][8879171] HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.9.6
Date: Tue, 13 Oct 2026 08:53:35 GMT
@@ -60,14 +168,14 @@ Content-type: text/html
Content-Length: 15063
Last-Modified: Tue, 13 Oct 2026 08:23:42 GMT
- FROM localhost:3000
-Tue Oct 13 2026 14:23:35:639 GMT+0530 (IST) -- ID-1 Writing 187 bytes response from: localhost:3000
-Tue Oct 13 2026 14:23:35:661 GMT+0530 (IST) -- ID-1 Writing 15063 bytes response from: localhost:3000
-Tue Oct 13 2026 14:23:35:723 GMT+0530 (IST) -- ID-1 Request to: localhost:3000
-Tue Oct 13 2026 14:23:35:724 GMT+0530 (IST) -- ID-1 [PARSING HANDSHAKE][9][8879175] Handshake request to localhost:3000
-Tue Oct 13 2026 14:23:35:724 GMT+0530 (IST) -- ID-1 Connecting to: localhost:3000
-Tue Oct 13 2026 14:23:35:728 GMT+0530 (IST) -- localhost:3000 socket connected.
-Tue Oct 13 2026 14:23:35:728 GMT+0530 (IST) -- ID-1 Connected to: 127.0.0.1
+ FROM localhost:3000
+Tue Oct 13 2026 14:23:35:639 GMT+0530 (IST) -- ID-1 Writing 187 bytes response from: localhost:3000
+Tue Oct 13 2026 14:23:35:661 GMT+0530 (IST) -- ID-1 Writing 15063 bytes response from: localhost:3000
+Tue Oct 13 2026 14:23:35:723 GMT+0530 (IST) -- ID-1 Request to: localhost:3000
+Tue Oct 13 2026 14:23:35:724 GMT+0530 (IST) -- ID-1 [PARSING HANDSHAKE][9][8879175] Handshake request to localhost:3000
+Tue Oct 13 2026 14:23:35:724 GMT+0530 (IST) -- ID-1 Connecting to: localhost:3000
+Tue Oct 13 2026 14:23:35:728 GMT+0530 (IST) -- localhost:3000 socket connected.
+Tue Oct 13 2026 14:23:35:728 GMT+0530 (IST) -- ID-1 Connected to: 127.0.0.1
Tue Oct 13 2026 14:23:35:741 GMT+0530 (IST) -- ID-1 [PARSING REQUEST][9][8879175] GET /style.css HTTP/1.1
Host: localhost:3000
sec-ch-ua-platform: "Windows"
@@ -78,12 +186,411 @@ Accept: text/css,*/*;q=0.1
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: style
+Referer: http://localhost:8765/accessibility.html
Referer: http://localhost:3000/visual-regression.html?diff=off
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
-
+
+Mon Oct 26 2026 13:09:40:117 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800339] HTTP/1.0 200 OK
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Content-type: text/css
+Content-Length: 2679
+Last-Modified: Wed, 30 Sep 2026 12:08:22 GMT
+
+ FROM localhost:8765
+Mon Oct 26 2026 13:09:40:117 GMT+0530 (IST) -- Writing 185 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:117 GMT+0530 (IST) -- Writing 2679 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:410 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:411 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800347] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:411 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:414 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:415 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:428 GMT+0530 (IST) -- [PARSING REQUEST][11][24800347] GET /assets/a11y-chart.svg HTTP/1.1
+Host: localhost:8765
+sec-ch-ua-platform: "Windows"
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
+sec-ch-ua-mobile: ?0
+Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
+Sec-Fetch-Site: same-origin
+Sec-Fetch-Mode: no-cors
+Sec-Fetch-Dest: image
+Referer: http://localhost:8765/accessibility.html
+Accept-Encoding: gzip, deflate, br, zstd
+Accept-Language: en-US,en;q=0.9
+Connection: keep-alive
+
+
+Mon Oct 26 2026 13:09:40:430 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800347] HTTP/1.0 200 OK
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Content-type: image/svg+xml
+Content-Length: 481
+Last-Modified: Thu, 22 Oct 2026 12:42:18 GMT
+
+ FROM localhost:8765
+Mon Oct 26 2026 13:09:40:430 GMT+0530 (IST) -- Writing 189 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:431 GMT+0530 (IST) -- Writing 481 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:455 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:455 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800350] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:455 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:456 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:457 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:478 GMT+0530 (IST) -- [PARSING REQUEST][11][24800350] GET /assets/a11y-logo.svg HTTP/1.1
+Host: localhost:8765
+sec-ch-ua-platform: "Windows"
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
+sec-ch-ua-mobile: ?0
+Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
+Sec-Fetch-Site: same-origin
+Sec-Fetch-Mode: no-cors
+Sec-Fetch-Dest: image
+Referer: http://localhost:8765/accessibility.html
+Accept-Encoding: gzip, deflate, br, zstd
+Accept-Language: en-US,en;q=0.9
+Connection: keep-alive
+
+
+Mon Oct 26 2026 13:09:40:482 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800350] HTTP/1.0 200 OK
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Content-type: image/svg+xml
+Content-Length: 357
+Last-Modified: Thu, 22 Oct 2026 12:42:24 GMT
+
+ FROM localhost:8765
+Mon Oct 26 2026 13:09:40:482 GMT+0530 (IST) -- Writing 189 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:485 GMT+0530 (IST) -- Writing 357 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:500 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:501 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800352] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:501 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:502 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:503 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800351] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:503 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:505 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:505 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:505 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:506 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:507 GMT+0530 (IST) -- Request to: localhost:8765
+Mon Oct 26 2026 13:09:40:507 GMT+0530 (IST) -- [PARSING HANDSHAKE][11][24800353] Handshake request to localhost:8765
+Mon Oct 26 2026 13:09:40:507 GMT+0530 (IST) -- Connecting to: localhost:8765
+Mon Oct 26 2026 13:09:40:508 GMT+0530 (IST) -- localhost:8765 socket connected.
+Mon Oct 26 2026 13:09:40:509 GMT+0530 (IST) -- Connected to: 127.0.0.1
+Mon Oct 26 2026 13:09:40:515 GMT+0530 (IST) -- [PARSING REQUEST][11][24800352] GET /assets/a11y-warning.svg HTTP/1.1
+Host: localhost:8765
+sec-ch-ua-platform: "Windows"
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
+sec-ch-ua-mobile: ?0
+Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
+Sec-Fetch-Site: same-origin
+Sec-Fetch-Mode: no-cors
+Sec-Fetch-Dest: image
+Referer: http://localhost:8765/accessibility.html
+Accept-Encoding: gzip, deflate, br, zstd
+Accept-Language: en-US,en;q=0.9
+Connection: keep-alive
+
+
+Mon Oct 26 2026 13:09:40:518 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800352] HTTP/1.0 200 OK
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Content-type: image/svg+xml
+Content-Length: 381
+Last-Modified: Mon, 26 Oct 2026 07:38:19 GMT
+
+ FROM localhost:8765
+Mon Oct 26 2026 13:09:40:518 GMT+0530 (IST) -- Writing 189 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:519 GMT+0530 (IST) -- Writing 381 bytes response from: localhost:8765
+Mon Oct 26 2026 13:09:40:533 GMT+0530 (IST) -- [PARSING REQUEST][11][24800353] GET /assets/a11y-divider.svg HTTP/1.1
+Host: localhost:8765
+sec-ch-ua-platform: "Windows"
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
+sec-ch-ua-mobile: ?0
+Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
+Sec-Fetch-Site: same-origin
+Sec-Fetch-Mode: no-cors
+Sec-Fetch-Dest: image
+Referer: http://localhost:8765/accessibility.html
+Accept-Encoding: gzip, deflate, br, zstd
+Accept-Language: en-US,en;q=0.9
+Connection: keep-alive
+
+
+Mon Oct 26 2026 13:09:40:534 GMT+0530 (IST) -- [PARSING REQUEST][11][24800351] GET /assets/a11y-photo.svg HTTP/1.1
+Host: localhost:8765
+sec-ch-ua-platform: "Windows"
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
+sec-ch-ua: "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151"
+sec-ch-ua-mobile: ?0
+Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
+Sec-Fetch-Site: same-origin
+Sec-Fetch-Mode: no-cors
+Sec-Fetch-Dest: image
+Referer: http://localhost:8765/accessibility.html
+Accept-Encoding: gzip, deflate, br, zstd
+Accept-Language: en-US,en;q=0.9
+Connection: keep-alive
+
+
+Mon Oct 26 2026 13:09:40:537 GMT+0530 (IST) -- [PARSING RESPONSE (500chars)][11][24800351] HTTP/1.0 200 OK
+Server: SimpleHTTP/0.6 Python/3.9.6
+Date: Mon, 26 Oct 2026 07:39:40 GMT
+Content-type: image/svg+xml
+Content-Length: 542
+Last-Modified: Mon, 26 Oct 2026 07:38:13 GMT
+
+