Documentation

Complete guide to the Open Accessible widget, dashboard, and backend.

Quick Start

Add one line to your HTML before </body>:

<script src="https://openaccessible.com/cdn/open-accessible/1.0.0/widget.min.js" data-site-id="YOUR_SITE_ID" data-api-url="https://openaccessible.com"></script>

Get your Site ID from the Dashboard. For self-hosted use, omit both attributes.

CDN

We host the widget on our CDN. Use the versioned URL for caching:

https://openaccessible.com/cdn/open-accessible/1.0.0/widget.min.js
https://openaccessible.com/cdn/open-accessible/1.0.0/widget.js

Available versions: 1.0.0, 2.0.0

Self-Hosted

Download widget/open-accessible-widget.js and serve it from your domain. No Site ID needed—all features work offline.

<script src="/path/to/open-accessible-widget.js"></script>

Script Attributes

AttributeRequiredDescription
data-site-idNoYour Site ID for SAAS analytics
data-api-urlNoAPI base URL (e.g. https://openaccessible.com) when embedding on other domains
data-help-urlNoURL for the Help link (3.2.6)

Features Reference

FeatureWCAGDescription
Font size2.4.1290–200% text scaling
Font styleNormal, Readable (serif), Dyslexia-friendly (OpenDyslexic)
Line spacing1.4.121.2–2.5 line height
Contrast1.4.3Normal, high, dark modes
Color vision1.4.1Protanopia, deuteranopia, tritanopia filters
Focus indicator2.4.13Strong / enhanced focus outlines
Focus not obscured2.4.11Scroll focused elements into view
Reduce motion2.3.3Disables animations
Large touch targets2.5.5Min 44×44px for links/buttons
Help link3.2.6Findable Help
Read aloudSelect text to hear it spoken
Keyboard shortcut2.1.1Ctrl+Shift+A toggles panel

API

Auth

POST /api/auth.php?action=login|signup|logout

Login/signup accept JSON or form data: email, password, display_name (signup), account_type (signup).

Websites

GET /api/websites.php — List websites (requires session)

POST /api/websites.php — Add website. JSON: {"name":"...","url":"..."}

DELETE /api/websites.php?id=N — Delete website

Tickets

GET /api/tickets.php — List your tickets (requires session)

GET /api/tickets.php?id=N — Get ticket + replies

POST /api/tickets.php — Create ticket. JSON: {"name":"...","email":"...","subject":"...","topic":"...","priority":"...","message":"..."}

POST /api/tickets.php with action=reply — Add reply

Contact

POST /api/contact.php — Contact form. JSON: {"name":"...","email":"...","subject":"...","message":"...","topic":"general"}

Widget ping

GET /api/ping.php?id=SITE_ID — Analytics (called by widget)

Database Setup

  1. Run config/schema.sql to create tables and seed data (admin user, org, site ID oa_openaccessible_main)
  2. Copy config/config.local.php.example to config/config.local.php and set DB credentials

Seed Data

The seed creates: admin user admin@openaccessible.com (password: password), organization "Open Accessible", and website with Site ID oa_openaccessible_main. Change the password immediately.

Back to Home | Support