Agent skill

Pixijs Accessibility

by netaart in netaart/cohub

A skill your agent uses when adding screen reader and keyboard navigation to PixiJS v8 apps.

MITAuto-check passedFrontend & Design

Install Pixijs Accessibility

skills CLI
$ npx skills add netaart/cohub --skill pixijs-accessibility -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install netaart/cohub pixijs-accessibility --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pixijs-accessibility .claude/skills/pixijs-accessibility && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pixijs-accessibility
GitHub stars
571
Used in
1 other repo
Token cost
~2k tokens
SKILL.md length
510 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when adding screen reader and keyboard navigation to PixiJS v8 apps.

  • Adding screen reader and keyboard navigation to PixiJS v8 apps
  • SKILL.md covers Quick Start, Core Patterns, Common Mistakes and API Reference
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • : accessibility

What it does

Pixijs Accessibility is an agent skill from netaart/cohub. Use this skill when adding screen reader and keyboard navigation to PixiJS v8 apps. Covers AccessibilitySystem options (enabledByDefault, debug, activateOnTab, deactivateOnMouseMove), per-container accessibility properties, shadow DOM overlay, mobile touch-hook activation. Triggers on: accessibility, a11y, screen reader, ARIA, keyboard navigation, tab order, AccessibilitySystem, accessibleTitle, accessibleHint, tabIndex, accessibleChildren.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: A living space where people and agents create, play, and build together. The licence is MIT.

When your agent uses it

  • Adding screen reader and keyboard navigation to PixiJS v8 apps
  • : accessibility
  • Keyboard navigation
  • AccessibilitySystem

Example prompts

  • “/pixijs-accessibility”

What it can do on your machine

Read from SKILL.md and the folder at commit edc669f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • pixijs.download

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pixijs Accessibility loads about 2k tokens when it runs. Until then it costs about 116 tokens; SKILL.md has 510 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~116
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from netaart/cohub at commit edc669f, republished under its MIT licence (© netaart). 510 words, ~2,040 tokens.

Download SKILL.mdSave it as .claude/skills/pixijs-accessibility/SKILL.md (or your agent's skills folder).
name
pixijs-accessibility
description
Use this skill when adding screen reader and keyboard navigation to PixiJS v8 apps. Covers AccessibilitySystem options (enabledByDefault, debug, activateOnTab, deactivateOnMouseMove), per-container accessibility properties, shadow DOM overlay, mobile touch-hook activation. Triggers on: accessibility, a11y, screen reader, ARIA, keyboard navigation, tab order, AccessibilitySystem, accessibleTitle, accessibleHint, tabIndex, accessibleChildren.
license
MIT
disable-model-invocation
true

Enable screen reader and keyboard navigation via PixiJS's AccessibilitySystem. The system creates an invisible shadow DOM overlay positioned over accessible containers so assistive technology can discover and activate them.

Quick Start

ts
const button = new Sprite(await Assets.load("button.png"));
button.accessible = true;
button.accessibleTitle = "Play game";
button.accessibleHint = "Starts a new game session";
button.eventMode = "static";
button.tabIndex = 0;
app.stage.addChild(button);

app.renderer.accessibility.setAccessibilityEnabled(true);

button.on("pointertap", () => startGame());

Related skills: pixijs-events (pointer/tap handlers), pixijs-scene-dom-container (HTML elements on canvas), pixijs-application (init options).

Key points:

  • By default the system activates only after the user presses Tab. Set enabledByDefault: true in Application init for immediate activation.
  • On mobile, the system creates a hidden touch hook; screen-reader focus activates accessibility for the whole session.
  • The AccessibilitySystem requires the main thread; it is not available in a Web Worker.

Core Patterns

Container accessible properties
ts
import { Container, Sprite } from "pixi.js";

const container = new Container();
container.accessible = true;
container.accessibleTitle = "Navigation menu";
container.accessibleHint = "Contains links to other pages";
container.eventMode = "static"; // required for custom tabIndex to apply
container.tabIndex = 0;
container.accessibleType = "div"; // defaults to 'button'

const sprite = new Sprite();
sprite.accessible = true;
sprite.accessibleTitle = "Close dialog";
sprite.accessibleText = "X"; // text content of the shadow div
sprite.eventMode = "static";
sprite.tabIndex = 1;

Available properties on any Container:

  • accessible (boolean) - enables the accessible overlay div
  • accessibleTitle (string) - sets the title attribute on the shadow div
  • accessibleHint (string) - sets the aria-label attribute
  • accessibleText (string) - sets inner text content of the shadow div
  • accessibleType (string) - HTML tag for the shadow element, defaults to 'button'
  • tabIndex (number) - tab order for keyboard navigation (only applied when interactive is true / eventMode is 'static' or 'dynamic')
  • accessibleChildren (boolean, default true) - when false, prevents child containers from being accessible
  • accessiblePointerEvents (string) - CSS pointer-events value on the shadow div
Custom tab order

Give each accessible container a tabIndex to control the order assistive tech walks through them. Higher numbers come later; equal numbers fall back to scene-graph order.

ts
menuButton.accessible = true;
menuButton.eventMode = "static";
menuButton.tabIndex = 1;

playButton.accessible = true;
playButton.eventMode = "static";
playButton.tabIndex = 2;

settingsButton.accessible = true;
settingsButton.eventMode = "static";
settingsButton.tabIndex = 3;

tabIndex is only forwarded to the shadow div when the container is interactive (eventMode is 'static' or 'dynamic'). Without that, the system clamps the div's tabIndex back to 0, and the order you set is ignored.

Programmatic control
ts
import { Application } from "pixi.js";

const app = new Application();
await app.init({ width: 800, height: 600 });

// Enable accessibility at runtime
app.renderer.accessibility.setAccessibilityEnabled(true);

// Check current state
console.log(app.renderer.accessibility.isActive);
console.log(app.renderer.accessibility.isMobileAccessibility);

// Full init options:
await app.init({
  accessibilityOptions: {
    enabledByDefault: true, // activate immediately (default: false)
    debug: true, // makes overlay divs visible (default: false)
    activateOnTab: true, // Tab key activates system (default: true)
    deactivateOnMouseMove: false, // stay active when mouse moves (default: true)
  },
});

The system can also be configured via static defaults before creating the Application:

ts
import { AccessibilitySystem, Application } from "pixi.js";

AccessibilitySystem.defaultOptions.enabledByDefault = true;
AccessibilitySystem.defaultOptions.deactivateOnMouseMove = false;

const app = new Application();
await app.init();
Handling accessible interactions
ts
import { Sprite } from "pixi.js";

const button = new Sprite();
button.eventMode = "static";
button.accessible = true;
button.accessibleTitle = "Submit form";
button.tabIndex = 0;

// Screen readers trigger click/tap events through the shadow DOM element
button.on("pointertap", () => {
  submitForm();
});

When accessibility is active and a user activates a shadow div (via Enter/Space key or screen reader action), the system dispatches click, pointertap, and tap FederatedEvents to the corresponding container. Focus on the shadow div dispatches mouseover, and focus-out dispatches mouseout. Both eventMode and accessible should be set for full keyboard + pointer support.

Show full SKILL.md (184 more words)Show less

Common Mistakes

[MEDIUM] Expecting accessibility to be active without Tab key press

The AccessibilitySystem does not create its DOM overlay until the user presses Tab (or, on mobile, focuses the touch hook). If your application needs accessibility immediately:

ts
const app = new Application();
await app.init({
  accessibilityOptions: {
    enabledByDefault: true,
  },
});

Or at runtime:

ts
app.renderer.accessibility.setAccessibilityEnabled(true);

Without one of these, automated accessibility testing tools will not find the overlay elements.

[MEDIUM] Setting accessible without accessibleTitle

Wrong:

ts
const sprite = new Sprite();
sprite.accessible = true;
// no title or hint set

Correct:

ts
const sprite = new Sprite();
sprite.accessible = true;
sprite.accessibleTitle = "Play button";
sprite.accessibleHint = "Click to start the game";

A container with accessible = true but no accessibleTitle or accessibleHint gets a fallback title of "container {tabIndex}". Screen readers will announce this generic label with no useful context. Always provide at least accessibleTitle.

[MEDIUM] Accessibility deactivates when moving mouse

By default, deactivateOnMouseMove is true. Any mouse movement after Tab-activation will deactivate the overlay. This is by design (assumes keyboard-only users don't use a mouse), but it makes testing with a mouse frustrating.

ts
await app.init({
  accessibilityOptions: {
    deactivateOnMouseMove: false,
  },
});
[MEDIUM] Not importing accessibility extension in custom builds

When using skipExtensionImports: true for a custom build, the accessibility extension is not automatically registered. You must import it explicitly:

ts
import "pixi.js/accessibility";
import { Application } from "pixi.js";

const app = new Application();
await app.init({ skipExtensionImports: true });

Without this import, app.renderer.accessibility will be undefined and no shadow DOM layer will be created.

API Reference

© netaart, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/pixijs-accessibility of netaart/cohub.

Open the folder on GitHubat commit edc669f

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in netaart/cohub, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Pixijs Accessibility next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pixijs Accessibility compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pixijs Accessibility this skillnetaart/cohub5711 repos~2kAutomated safety check: PassMIT
Web Interface Guidelines Reviewervercel-labs/openreview1.7k97 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence
Accessibility Fixeribelick/ui-skills9.5k4 repos~1.2kAutomated safety check: PassMIT
Wcag Audit PatternsvmDeshpande/ai-agent-automation17811 repos~610Automated safety check: PassApache-2.0

Similar skills

  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 97 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.5k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Wcag Audit Patterns

    vmDeshpande/ai-agent-automation

    Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.

    178 GitHub starsUsed in 11 repos~610 tokens
    Frontend & DesignAuto-check passed
  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.5k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed

More from netaart/cohub

All 30 skills in this repo
  • Pixijs Assets

    netaart/cohub

    A skill your agent uses when loading and managing resources in PixiJS v8.

    571 GitHub starsUsed in 1 repo~5k tokens
    Auto-check passed
  • A skill your agent uses when reasoning about the PixiJS v8 scene graph as a whole: how containers, leaves, transforms, and render order fit together.

    571 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Pixijs Scene Mesh

    netaart/cohub

    A skill your agent uses when rendering custom geometry in PixiJS v8.

    571 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Pixijs Scene Sprite

    netaart/cohub

    A skill your agent uses when drawing images in PixiJS v8. An agent skill from netaart/cohub.

    571 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Pixijs Scene Text

    netaart/cohub

    A skill your agent uses when rendering text in PixiJS v8. An agent skill from netaart/cohub.

    571 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • A skill your agent uses when understanding how PixiJS v8 renders frames: the systems-and-pipes renderer, the render loop, and how the library adapts to different environments.

    571 GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about Pixijs Accessibility

What does Pixijs Accessibility do?

A skill your agent uses when adding screen reader and keyboard navigation to PixiJS v8 apps. Pixijs Accessibility is an agent skill from netaart/cohub. Use this skill when adding screen reader and keyboard navigation to PixiJS v8 apps.

When should I use Pixijs Accessibility?

Pixijs Accessibility fits situations like: adding screen reader and keyboard navigation to PixiJS v8 apps; : accessibility; keyboard navigation; accessibilitySystem.

How do I install Pixijs Accessibility in Claude Code?

Run `npx skills add netaart/cohub --skill pixijs-accessibility -a claude-code`. Or copy the skill folder (.agents/skills/pixijs-accessibility in netaart/cohub) into .claude/skills/pixijs-accessibility in your project. Claude Code loads it when a task matches its description.

How do I install Pixijs Accessibility in Codex?

Run `npx skills add netaart/cohub --skill pixijs-accessibility -a codex`. Or copy the skill folder (.agents/skills/pixijs-accessibility in netaart/cohub) into .agents/skills/pixijs-accessibility in your project. Codex loads it when a task matches its description.

Can I use Pixijs Accessibility in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add netaart/cohub --skill pixijs-accessibility -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pixijs-accessibility, .gemini/skills/pixijs-accessibility, .github/skills/pixijs-accessibility and .opencode/skills/pixijs-accessibility in your project.

What does Pixijs Accessibility need to run?

SKILL.md names no scripts, command-line tools or credentials: Pixijs Accessibility is instructions for the agent only.

Does Pixijs Accessibility access the network?

SKILL.md names 1 domain. As links in the text: pixijs.download. This is read from the text; nothing was executed.

Is Pixijs Accessibility safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pixijs Accessibility use?

Pixijs Accessibility is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pixijs Accessibility use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pixijs Accessibility?

Skills that share tags, products or a category with Pixijs Accessibility: Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars), Web Animation Design (baptisteArno/typebot.io, 11k stars) and Accessibility Fixer (ibelick/ui-skills, 9.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pixijs Accessibility?

netaart (a GitHub organization) maintains it in netaart/cohub, which has 571 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 9, 2026.

Source: netaart/cohub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.