Live scan data
58
Accessibility Score
out of 100
0
Critical
11
Serious
6
Moderate
0
Minor
Top 5 violations with AI fix prompts
Respira Page Builder Intelligence is Respira's builder-awareness layer for WordPress (Elementor, Divi, Gutenberg, Bricks, and more). No supported WordPress page builder was detected in this scan, so prompts are generated from live DOM and WCAG findings, but still target the Respira plugin + MCP execution workflow.
serious aria-hidden-focus ARIA hidden element must not be focusable or contain focusable elements 5 elements
aria-hidden-focus ARIA hidden element must not be focusable or contain focusable elements
AI fix prompt
# Fix Accessibility Violation via Respira MCP
## SYSTEM CONTEXT
- This fix is executable only with **Respira for WordPress + Respira MCP** connected to the target site.
- Use **Respira MCP tools only** (`wordpress_*`). Do not suggest manual CMS edits or generic code patches.
- Respira safety flow is duplicate-first. Return the `respira_approvals_url` for user review.
## VIOLATION SUMMARY
**Page:** https://www.phiwebstudio.com/ (ID: 7)
**Builder:** WPBakery
**Issue:** Accessibility violation detected
**Impact:** SERIOUS
**WCAG:** WCAG 2.2 (See violation details)
**Element:**
```html
<div class="cell" data-lazy="false" aria-hidden="true" style="position: absolute; left: 0px; transform: translateX(358.44%);">
```
**Location in Builder:** .cell[data-lazy="false"][aria-hidden="true"]:nth-child(4) (builder inferred: wpbakery)
---
## YOUR TASK
Fix this violation through Respira MCP and keep all unrelated content unchanged.
### Workflow Overview
1. Resolve `PAGE_ID` if unknown.
2. Extract builder content (or update module directly for supported builders).
3. Apply the minimal fix for this exact element.
4. Verify the updated field/value in extracted content.
5. Return a JSON summary with the approval URL.
---
## BUILDER CONTEXT: WPBakery
Use builder detection first, then follow extract/modify/inject flow.
**Primary tools:**
- `wordpress_list_pages({ search })`
- `wordpress_list_posts({ search })`
- `wordpress_get_builder_info({})`
- `wordpress_extract_builder_content({ builder, pageId })`
- `wordpress_inject_builder_content({ builder, pageId, content })`
If this is not a WordPress page connected through Respira plugin + MCP, this prompt is not executable.
---
## FIXING INSTRUCTIONS
### Step 0: Use Known Page ID
```javascript
const PAGE_ID = 7;
```
### Step 1: Determine builder + exact module
```javascript
await wordpress_get_builder_info({});
const extracted = await wordpress_extract_builder_content({ builder: "wpbakery", pageId: PAGE_ID });
```
### Step 2: Apply minimal fix only for selector:
```
.cell[data-lazy="false"][aria-hidden="true"]:nth-child(4)
```
### Step 3: Inject updated content and return approval URL
```javascript
await wordpress_inject_builder_content({ builder: "wpbakery", pageId: PAGE_ID, content: extracted.content || extracted });
```
---
## EXPECTED OUTPUT
```json
{
"success": true,
"violation_fixed": "aria-hidden-focus",
"page_id": 7,
"duplicate_id": "<duplicate_id_from_response>",
"changes_made": "<what was changed>",
"approval_url": "<respira_approvals_url from MCP response>",
"verification": "<how you verified the fix>"
}
```
---
## CRITICAL REMINDERS
- If Respira plugin or MCP is not connected, stop and report that setup is required.
- Prefer `moduleIdentifier.admin_label`, then `path`, then `type + match_content`.
- Preserve all unrelated builder data.
- Always include `approval_url` in final output. Paste into Cursor, Claude, or Codex
serious link-name Links must have discernible text 4 elements
link-name Links must have discernible text
AI fix prompt
# Fix Accessibility Violation via Respira MCP
## SYSTEM CONTEXT
- This fix is executable only with **Respira for WordPress + Respira MCP** connected to the target site.
- Use **Respira MCP tools only** (`wordpress_*`). Do not suggest manual CMS edits or generic code patches.
- Respira safety flow is duplicate-first. Return the `respira_approvals_url` for user review.
## VIOLATION SUMMARY
**Page:** https://www.phiwebstudio.com/ (ID: 7)
**Builder:** WPBakery
**Issue:** Link has no accessible name
**Impact:** SERIOUS
**WCAG:** WCAG 2.4.4 Link Purpose / 4.1.2 Name, Role, Value (Level A)
**Element:**
```html
<a class="entire-slide-link ext-url-link" href="https://www.phiwebstudio.com/work/" target="_self" tabindex="0"></a>
```
**Location in Builder:** .is-selected > .entire-slide-link.ext-url-link[target="_self"] (builder inferred: wpbakery)
---
## YOUR TASK
Fix this violation through Respira MCP and keep all unrelated content unchanged.
### Workflow Overview
1. Resolve `PAGE_ID` if unknown.
2. Extract builder content (or update module directly for supported builders).
3. Apply the minimal fix for this exact element.
4. Verify the updated field/value in extracted content.
5. Return a JSON summary with the approval URL.
---
## BUILDER CONTEXT: WPBakery
Use builder detection first, then follow extract/modify/inject flow.
**Primary tools:**
- `wordpress_list_pages({ search })`
- `wordpress_list_posts({ search })`
- `wordpress_get_builder_info({})`
- `wordpress_extract_builder_content({ builder, pageId })`
- `wordpress_inject_builder_content({ builder, pageId, content })`
If this is not a WordPress page connected through Respira plugin + MCP, this prompt is not executable.
---
## FIXING INSTRUCTIONS
### Step 0: Use Known Page ID
```javascript
const PAGE_ID = 7;
```
### Step 1: Extract builder content
```javascript
const extracted = await wordpress_extract_builder_content({ builder: "wpbakery", pageId: PAGE_ID });
const content = extracted.content || extracted;
```
### Step 2: Set descriptive link text
- Replace current empty/ambiguous label with: `Read more about work`
- Keep destination URL unchanged unless broken.
### Step 3: Inject back
```javascript
await wordpress_inject_builder_content({ builder: "wpbakery", pageId: PAGE_ID, content });
```
---
## EXPECTED OUTPUT
```json
{
"success": true,
"violation_fixed": "non-descriptive-link-text",
"page_id": 7,
"duplicate_id": "<duplicate_id_from_response>",
"changes_made": "<what was changed>",
"approval_url": "<respira_approvals_url from MCP response>",
"verification": "<how you verified the fix>"
}
```
---
## CRITICAL REMINDERS
- If Respira plugin or MCP is not connected, stop and report that setup is required.
- Prefer `moduleIdentifier.admin_label`, then `path`, then `type + match_content`.
- Preserve all unrelated builder data.
- Always include `approval_url` in final output. Paste into Cursor, Claude, or Codex
serious color-contrast Elements must meet minimum color contrast ratio thresholds 2 elements
color-contrast Elements must meet minimum color contrast ratio thresholds
AI fix prompt
# Fix Accessibility Violation via Respira MCP
## SYSTEM CONTEXT
- This fix is executable only with **Respira for WordPress + Respira MCP** connected to the target site.
- Use **Respira MCP tools only** (`wordpress_*`). Do not suggest manual CMS edits or generic code patches.
- Respira safety flow is duplicate-first. Return the `respira_approvals_url` for user review.
## VIOLATION SUMMARY
**Page:** https://www.phiwebstudio.com/ (ID: 7)
**Builder:** WPBakery
**Issue:** Insufficient color contrast
**Impact:** SERIOUS
**WCAG:** WCAG 1.4.3 Contrast (Minimum) (Level AA)
**Element:**
```html
<h1>Santa Barbara Web Design</h1>
```
**Location in Builder:** h1 (builder inferred: wpbakery)
---
## YOUR TASK
Fix this violation through Respira MCP and keep all unrelated content unchanged.
### Workflow Overview
1. Resolve `PAGE_ID` if unknown.
2. Extract builder content (or update module directly for supported builders).
3. Apply the minimal fix for this exact element.
4. Verify the updated field/value in extracted content.
5. Return a JSON summary with the approval URL.
---
## BUILDER CONTEXT: WPBakery
Use builder detection first, then follow extract/modify/inject flow.
**Primary tools:**
- `wordpress_list_pages({ search })`
- `wordpress_list_posts({ search })`
- `wordpress_get_builder_info({})`
- `wordpress_extract_builder_content({ builder, pageId })`
- `wordpress_inject_builder_content({ builder, pageId, content })`
If this is not a WordPress page connected through Respira plugin + MCP, this prompt is not executable.
---
## FIXING INSTRUCTIONS
### Step 0: Use Known Page ID
```javascript
const PAGE_ID = 7;
```
### Step 1: Extract builder content and locate the failing text node
```javascript
const extracted = await wordpress_extract_builder_content({ builder: "wpbakery", pageId: PAGE_ID });
```
### Step 2: Update text/background color fields on that module/block
- Current: `#0093ff` on `#ffffff` (3.17:1)
- Required: `NaN:1`
- Suggested text color: `#0060a6`
### Step 3: Inject updated content and verify
```javascript
await wordpress_inject_builder_content({ builder: "wpbakery", pageId: PAGE_ID, content: extracted.content || extracted });
```
---
## EXPECTED OUTPUT
```json
{
"success": true,
"violation_fixed": "color-contrast",
"page_id": 7,
"duplicate_id": "<duplicate_id_from_response>",
"changes_made": "<what was changed>",
"approval_url": "<respira_approvals_url from MCP response>",
"verification": "<how you verified the fix>"
}
```
---
## CRITICAL REMINDERS
- If Respira plugin or MCP is not connected, stop and report that setup is required.
- Prefer `moduleIdentifier.admin_label`, then `path`, then `type + match_content`.
- Preserve all unrelated builder data.
- Always include `approval_url` in final output. Paste into Cursor, Claude, or Codex
moderate region All page content should be contained by landmarks 2 elements
region All page content should be contained by landmarks
AI fix prompt
# Fix Accessibility Violation via Respira MCP
## SYSTEM CONTEXT
- This fix is executable only with **Respira for WordPress + Respira MCP** connected to the target site.
- Use **Respira MCP tools only** (`wordpress_*`). Do not suggest manual CMS edits or generic code patches.
- Respira safety flow is duplicate-first. Return the `respira_approvals_url` for user review.
## VIOLATION SUMMARY
**Page:** https://www.phiwebstudio.com/ (ID: 7)
**Builder:** WPBakery
**Issue:** Accessibility violation detected
**Impact:** MODERATE
**WCAG:** WCAG 2.2 (See violation details)
**Element:**
```html
<a href="https://accessibe.co..." target="_blank" rel="noopener" tabindex="-1" data-acsb="sr-trigger" data-acsb-sr-only="true" class="acsb-sr-only" style="position: absolute; ...">
```
**Location in Builder:** .acsb-sr-only (builder inferred: wpbakery)
---
## YOUR TASK
Fix this violation through Respira MCP and keep all unrelated content unchanged.
### Workflow Overview
1. Resolve `PAGE_ID` if unknown.
2. Extract builder content (or update module directly for supported builders).
3. Apply the minimal fix for this exact element.
4. Verify the updated field/value in extracted content.
5. Return a JSON summary with the approval URL.
---
## BUILDER CONTEXT: WPBakery
Use builder detection first, then follow extract/modify/inject flow.
**Primary tools:**
- `wordpress_list_pages({ search })`
- `wordpress_list_posts({ search })`
- `wordpress_get_builder_info({})`
- `wordpress_extract_builder_content({ builder, pageId })`
- `wordpress_inject_builder_content({ builder, pageId, content })`
If this is not a WordPress page connected through Respira plugin + MCP, this prompt is not executable.
---
## FIXING INSTRUCTIONS
### Step 0: Use Known Page ID
```javascript
const PAGE_ID = 7;
```
### Step 1: Determine builder + exact module
```javascript
await wordpress_get_builder_info({});
const extracted = await wordpress_extract_builder_content({ builder: "wpbakery", pageId: PAGE_ID });
```
### Step 2: Apply minimal fix only for selector:
```
.acsb-sr-only
```
### Step 3: Inject updated content and return approval URL
```javascript
await wordpress_inject_builder_content({ builder: "wpbakery", pageId: PAGE_ID, content: extracted.content || extracted });
```
---
## EXPECTED OUTPUT
```json
{
"success": true,
"violation_fixed": "region",
"page_id": 7,
"duplicate_id": "<duplicate_id_from_response>",
"changes_made": "<what was changed>",
"approval_url": "<respira_approvals_url from MCP response>",
"verification": "<how you verified the fix>"
}
```
---
## CRITICAL REMINDERS
- If Respira plugin or MCP is not connected, stop and report that setup is required.
- Prefer `moduleIdentifier.admin_label`, then `path`, then `type + match_content`.
- Preserve all unrelated builder data.
- Always include `approval_url` in final output. Paste into Cursor, Claude, or Codex
moderate heading-order Heading levels should only increase by one 1 element
heading-order Heading levels should only increase by one
AI fix prompt
# Fix Accessibility Violation via Respira MCP
## SYSTEM CONTEXT
- This fix is executable only with **Respira for WordPress + Respira MCP** connected to the target site.
- Use **Respira MCP tools only** (`wordpress_*`). Do not suggest manual CMS edits or generic code patches.
- Respira safety flow is duplicate-first. Return the `respira_approvals_url` for user review.
## VIOLATION SUMMARY
**Page:** https://www.phiwebstudio.com/ (ID: 7)
**Builder:** WPBakery
**Issue:** Heading levels are out of sequence
**Impact:** MODERATE
**WCAG:** WCAG 1.3.1 Info and Relationships (Level A)
**Element:**
```html
<h4 class="break-words space-y-3">Drive leads, boost sales, and expand your business with a website that turns visitors into customers.</h4>
```
**Location in Builder:** .break-words.space-y-3 > .break-words.space-y-3 (builder inferred: wpbakery)
---
## YOUR TASK
Fix this violation through Respira MCP and keep all unrelated content unchanged.
### Workflow Overview
1. Resolve `PAGE_ID` if unknown.
2. Extract builder content (or update module directly for supported builders).
3. Apply the minimal fix for this exact element.
4. Verify the updated field/value in extracted content.
5. Return a JSON summary with the approval URL.
---
## BUILDER CONTEXT: WPBakery
Use builder detection first, then follow extract/modify/inject flow.
**Primary tools:**
- `wordpress_list_pages({ search })`
- `wordpress_list_posts({ search })`
- `wordpress_get_builder_info({})`
- `wordpress_extract_builder_content({ builder, pageId })`
- `wordpress_inject_builder_content({ builder, pageId, content })`
If this is not a WordPress page connected through Respira plugin + MCP, this prompt is not executable.
---
## FIXING INSTRUCTIONS
### Step 0: Use Known Page ID
```javascript
const PAGE_ID = 7;
```
### Step 1: Extract builder content and locate heading node
```javascript
const extracted = await wordpress_extract_builder_content({ builder: "wpbakery", pageId: PAGE_ID });
```
### Step 2: Apply heading-level correction
- Set heading level to `h3` (no skipped levels).
### Step 3: Inject and verify sequence remains logical (H1 → H2 → H3)
```javascript
await wordpress_inject_builder_content({ builder: "wpbakery", pageId: PAGE_ID, content: extracted.content || extracted });
```
---
## EXPECTED OUTPUT
```json
{
"success": true,
"violation_fixed": "heading-hierarchy",
"page_id": 7,
"duplicate_id": "<duplicate_id_from_response>",
"changes_made": "<what was changed>",
"approval_url": "<respira_approvals_url from MCP response>",
"verification": "<how you verified the fix>"
}
```
---
## CRITICAL REMINDERS
- If Respira plugin or MCP is not connected, stop and report that setup is required.
- Prefer `moduleIdentifier.admin_label`, then `path`, then `type + match_content`.
- Preserve all unrelated builder data.
- Always include `approval_url` in final output. Paste into Cursor, Claude, or Codex
Automated tools detect approximately 57% of WCAG violations. Manual review is always required.
Want these fixes applied safely?
Connect Respira for WordPress
Respira connects Cursor, Claude Code, and Codex to your WordPress site with builder-aware intelligence. Your AI agent can apply accessibility fixes on a safe draft for Not detected workflows.