最近のWebブラウザ(IE9、Firefox 13以降、いつからか忘れましたがGoogle Chromeなど)はcanvas要素のフォールバック・コンテンツをサポートしています。これらのブラウザはcanvas要素内に記述されたフォールバック・コンテンツに対してアクセシビリティ・オブジェクトを作るので、支援技術(スクリーン・リーダーなど)からフォールバック・コンテンツを利用することができます。 画面に表示されていない要素にアクセシビリティ・オブジェクトが作られるのが不思議だったので、WebKit(WebCore)でアクセシビリティ・オブジェクトが作られる過程を調べてみました。 WebKit(WebCore)は基本的に2つのことをやっています。1つはcanvas要素の子孫に対してフラグを立てることで、もう1つはフラグのたった要素は画面に表示されていなくても(描画オブジェクトが存在しなくても)ア