# Rgaa Frames

> Audit a web page for RGAA v4.1.2 Theme 2 – Frames accessibility compliance. Checks that every iframe and frame has a title attribute and that the title is relevant. Use this skill when someone asks to check frame or iframe accessibility, verify RGAA Theme 2, or audit embedded content accessibility on a website.

- **Type:** Skill
- **Install:** `agentstack add skill-mteelokee-rgaa-accessibility-audit-rgaa-frames`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [MTeelokee](https://agentstack.voostack.com/s/mteelokee)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [MTeelokee](https://github.com/MTeelokee)
- **Source:** https://github.com/MTeelokee/rgaa-accessibility-audit/tree/main/skills/rgaa-frames

## Install

```sh
agentstack add skill-mteelokee-rgaa-accessibility-audit-rgaa-frames
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# RGAA Frames Accessibility Audit (Theme 2)

This skill audits a web page against the 2 criteria of RGAA v4.1.2 Theme 2: Frames.

## Audit procedure

### Step 1: Gather frame data

Use `javascript_tool` to extract all frame elements:

```javascript
(() => {
  const frames = [];
  document.querySelectorAll('iframe, frame').forEach(el => {
    frames.push({
      tag: el.tagName.toLowerCase(),
      title: el.getAttribute('title'),
      src: el.src?.substring(0, 150),
      ariaLabel: el.getAttribute('aria-label'),
      ariaHidden: el.getAttribute('aria-hidden'),
      width: el.width,
      height: el.height
    });
  });
  return JSON.stringify(frames, null, 2);
})()
```

### Step 2: Evaluate criteria

**Criterion 2.1** – Every frame must have a title.
Check that every `` and `` has a non-empty `title` attribute.

**Criterion 2.2** – Frame titles must be relevant.
The title must describe the content or purpose of the frame (not just "iframe" or be empty). For example, a YouTube embed should say "Video: [title]" rather than just "YouTube video player".

### Step 3: Generate report

Report for each frame: its source, whether it has a title, and whether that title is relevant. Provide fix recommendations for any issues found.

WCAG references: 9.4.1.2 Name, Role, Value (A)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [MTeelokee](https://github.com/MTeelokee)
- **Source:** [MTeelokee/rgaa-accessibility-audit](https://github.com/MTeelokee/rgaa-accessibility-audit)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mteelokee-rgaa-accessibility-audit-rgaa-frames
- Seller: https://agentstack.voostack.com/s/mteelokee
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
