<div>Hello.</div><div><br class="webkit-block-placeholder"></div><div>Here I&#39;ll try to continue the discussion based on Pete&#39;s comments (<a href="https://lists.linux-foundation.org/pipermail/accessibility-handlers/2008-April/000349.html">https://lists.linux-foundation.org/pipermail/accessibility-handlers/2008-April/000349.html</a> and&nbsp;<a href="https://lists.linux-foundation.org/pipermail/accessibility-handlers/2008-April/000350.html">https://lists.linux-foundation.org/pipermail/accessibility-handlers/2008-April/000350.html</a>).</div>
<div><br class="webkit-block-placeholder"></div>1. The case of browser EH plug-in<div>When browser doesn&#39;t support the certain XML dialect (it doesn&#39;t know how to expose it to AT) then browser EH plug-in is used. This plug-in is needed to expose the XML content to AT via AT API.</div>
<div><br class="webkit-block-placeholder"></div><div>1.1. Implementation of browser EH plug-in</div><div><br class="webkit-block-placeholder"></div><div><a href="http://1.1.1.">1.1.1.</a> C++ implementation (usage of plug-in mechanism of browser)</div>
<div><br class="webkit-block-placeholder"></div><div><a href="http://1.1.1.1">1.1.1.1</a>. What mechanisms does Firefox have?</div><div>Firefox has plug-in mechanism and XPCOM mechanism to extend browser. IIRC plug-in mechanism is used to write new control elements (for example it&#39;s used to add Java applet and Flash support). XPCOM mechanism is used to add new functionality (provide new components and interfaces).&nbsp;Possibly we can use XPCOM mechanism to implement browser EH plug-in (by Gecko SDK usage).</div>
<div><br class="webkit-block-placeholder"></div><div><a href="http://1.1.1.2">1.1.1.2</a>. Gecko SDK and Gecko accessibility.</div><div>In the meantime Gecko SDK doesn&#39;t contain accessibility interfaces (though I think it may be fixed easy enough). But Gecko accessibility module doesn&#39;t have interfaces to allow EH plug-in be integrated into accessibility module. We need integration because a) accessibility module supports common things like ARIA that shouldn&#39;t be reimplemented by browser EH plug-in and b) browser EH plug-in should integrate XML content into existing accessible tree of the browser. I think in the meantime the current state fo Gecko accessibility is a bit far to provide similar ability. But for sure we could think about Gecko accessibility SDK to fit these needs.</div>
<div><br></div><div><div><a href="http://1.1.1.3">1.1.1.3</a>. Disadvantages.</div><div>There is one big disadvantage: browser EH plugin should be implemented for each browser (no code sharing).</div><div><br class="webkit-block-placeholder">
</div><div><a href="http://1.1.2.">1.1.2.</a> XBL/XTF implementation.</div><div>It is also Firefox only thing. XTF+XBL allows to implement new XML dialects for Firefox (the great example is XForms extension). We could think how to add accessibility support for this stuff (I put initial thoughts at&nbsp;<a href="http://wiki.mozilla.org/Accessibility/CustomWidgets">http://wiki.mozilla.org/Accessibility/CustomWidgets</a>). But again no code sharing.</div>
<div><br class="webkit-block-placeholder"></div><div><a href="http://1.1.3.">1.1.3.</a> JS implementation.</div><div>The great stuff we don&#39;t need to reimplement browser EH plugin for each browser every time. Could we think about extension of JavaScript to introduce new objects (like there is some JS extension for Java&nbsp;<a href="http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference#LiveConnect_Class_Reference">http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference#LiveConnect_Class_Reference</a>)? But here there is biggest disadvantage: how many years do we need before browsers will support that?</div>
<div><br class="webkit-block-placeholder"></div><div>2. AT EH plug-in.</div><div>I still don&#39;t get how it can be used. If for example browser EH plugin expose XML content to AT via AT APIs and AT uses AT APIs then where is the place for AT EH plug-in? An example would be really good.</div>
<div><br class="webkit-block-placeholder"></div><div>3. XML dialect a11y support.</div><div>I still don&#39;t get how the certain XML dialect should be exposed via AT API (either by browser or browser EH plugin). I think somewhere here ontologies should play their own role. But I don&#39;t see how. Any comments?</div>
<div><br class="webkit-block-placeholder"></div><div>Thank you for your answers and comments.</div><div>Alexander.</div><div><br class="webkit-block-placeholder"></div><div><br><div class="gmail_quote">On Tue, Apr 29, 2008 at 3:38 AM, Pete Brunet &lt;<a href="mailto:brunet@us.ibm.com">brunet@us.ibm.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="Ih2E3d">
<br><font size="2" face="sans-serif">&gt;1) What is expert handlers?</font>
<br><font size="2" face="sans-serif">&gt;It is the way to link the client
software (like Firefox) and server software (screen readers) in order to
expose XML languages (like MathML) to server software (make it accessible).</font>
<br>
<br></div><font size="2" face="sans-serif">PB: yes - but I think of client software
in terms of a COM client and in that case the AT is the MSAA/IA2 COM client
and the browser is the COM server</font>
<br><div class="Ih2E3d">
<br><font size="2" face="sans-serif">&gt;2) How does it look?</font>
<br><font size="2" face="sans-serif">&gt;There is mediator that transforms
information about XML language used on the certain web page (in the case
of web browser) into some XML structure (by RDF/OWL usage). This XML structure
should be exposed to AT (screen readers). Here I can see two possible approaches:
AT deals with XML structure or there is another mediator that transform
that XML structure to the certain AT API calls (like IA2 or ATK).</font>
<br>
<br></div><font size="2" face="sans-serif">PB: &nbsp;Maybe this is not the right
way do to it, but what I was thinking was that when the browser encountered
the XML it would activate an EH, which would be written in code that could
implement MSAA/IA2 (or ATK) and which would then parse the XML, build its
own structure, provide UI (key handlers) to navigate the structure, fire
a11y events, e.g. when a EH node received focus, and responsd to a11y requests
for information about the object which currently has focus.</font>
<br><div class="Ih2E3d">
<br><font size="2" face="sans-serif">&gt;If the item above makes sense then
I have following up questions:</font>
<br><font size="2" face="sans-serif">&gt;1) Why do we need the mediator and
why do we need to use RDF/OWL? Doesn&#39;t AT API allow to expose interested
XML languages directly?</font>
<br>
<br></div><font size="2" face="sans-serif">PB: I don&#39;t understand the question.</font>
<br><div class="Ih2E3d">
<br><font size="2" face="sans-serif">&gt;2) How should it look for accessible
XML languages like HTML. Will something be changed in their handling?<br>
</font>
<br></div><font size="2" face="sans-serif">PB: I don&#39;t think so.</font>
<br>
<br><font size="2" face="sans-serif">I will answer your other post in a few
minutes.</font>
<br>
<br><font size="1" color="#0060a0" face="Arial"><b>Pete Brunet</b></font><font size="3" color="#0060a0"><strike><br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</strike></font><font size="1" color="#2f2f2f" face="Arial"><br>
IBM Accessibility Architecture and Development<br>
11501 Burnet Road, MS 9022E004, Austin, TX 78758<br>
Voice: (512) 838-4594, Cell: (512) 689-4155<br>
Ionosphere: WS4G<br>
</font>
<br>
<br>
<br>
<p></p><table width="100%">
<tbody><tr valign="top">
<td width="40%"><font size="1" face="sans-serif"><b>&quot;Alexander Surkov&quot;
&lt;<a href="mailto:surkov.alexander@gmail.com" target="_blank">surkov.alexander@gmail.com</a>&gt;</b> </font>
<br><font size="1" face="sans-serif">Sent by: <a href="mailto:accessibility-handlers-bounces@lists.linux-foundation.org" target="_blank">accessibility-handlers-bounces@lists.linux-foundation.org</a></font>
<p><font size="1" face="sans-serif">04/17/2008 02:26 AM</font>
</p></td><td width="59%">
<table width="100%">
<tbody><tr valign="top">
<td>
<div align="right"><font size="1" face="sans-serif">To</font></div>
</td><td><font size="1" face="sans-serif"><a href="mailto:accessibility-handlers@a11y.org" target="_blank">accessibility-handlers@a11y.org</a></font>
</td></tr><tr valign="top">
<td>
<div align="right"><font size="1" face="sans-serif">cc</font></div>
</td><td>
</td></tr><tr valign="top">
<td>
<div align="right"><font size="1" face="sans-serif">Subject</font></div>
</td><td><font size="1" face="sans-serif">[Accessibility-handlers] what is expert
handlers</font></td></tr></tbody></table>
<br>
<table>
<tbody><tr valign="top">
<td>
</td><td></td></tr></tbody></table>
<br></td></tr></tbody></table><div><div></div><div class="Wj3C7c">
<br>
<br>
<br><font size="3">Hi.</font>
<br>
<br><font size="3">Originally I look for the way how to make accessible MathML
in Firefox, I look for ideas and any experience in this field. I ran through
expert handlers pages and tried to catch general idea. Unfortunately I
didn&#39;t find any technical details how it should helps with MathML accessibility.
So I&#39;ll try to form some questions and in some cases I&#39;ll try to give my
understanding of this.</font>
<br>
<br><font size="3">1) What is expert handlers?</font>
<br><font size="3">It is the way to link the client software (like Firefox)
and server software (screen readers) in order to expose XML languages (like
MathML) to server software (make it accessible).</font>
<br>
<br><font size="3">2) How does it look?</font>
<br><font size="3">There is mediator that transforms information about XML
language used on the certain web page (in the case of web browser) into
some XML structure (by RDF/OWL usage). This XML structure should be exposed
to AT (screen readers). Here I can see two possible approaches: AT deals
with XML structure or there is another mediator that transform that XML
structure to the certain AT API calls (like IA2 or ATK).</font>
<br>
<br><font size="3">If the item above makes sense then I have following up
questions:</font>
<br><font size="3">1) Why do we need the mediator and why do we need to use
RDF/OWL? Doesn&#39;t AT API allow to expose interested XML languages directly?</font>
<br><font size="3">2) How should it look for accessible XML languages like
HTML. Will something be changed in their handling?</font>
<br>
<br><font size="3">Thank you for advice.</font>
<br></div></div><font size="3">Alexander.</font><tt><font size="2">_______________________________________________<br>
Accessibility-handlers mailing list<br>
<a href="mailto:Accessibility-handlers@lists.linux-foundation.org" target="_blank">Accessibility-handlers@lists.linux-foundation.org</a><br>
<a href="https://lists.linux-foundation.org/mailman/listinfo/accessibility-handlers" target="_blank">https://lists.linux-foundation.org/mailman/listinfo/accessibility-handlers</a><br>
</font></tt>
<br></blockquote></div><br></div></div>