How it works

This page explains how Accented works under the hood, why it’s designed the way it is, and what its limitations are.

Design principles

Architecture overview

Accented consists of a few core components.

Known limitations

Accented aims to be as helpful and reliable as possible, but it does have limitations.

Performance

Accented is designed to minimize performance impact on the host application, but it still runs on the main thread, and some of its operations may still take hundreds of milliseconds (especially on pages with lots of elements).

The most expensive operation is running axe.run() after a DOM mutation.

To make it as fast as possible, Accented only runs axe.run() on the parts of the page that changed.

Accented provides APIs to help you measure and tune its performance.