Writer Accessibility
提案
by Michael Brauer (michael.brauer@sun.com)
last modification on
1. Introduction
This paper 含む/封じ込めるs a 提案 how StarOffice/OpenOffice.org Writer (and Writer/Web) 文書s can be made accessible by using the UNO Accessibility API (UAA).
As 明言する/公表するd in the 指導基準s of 文書 代表, the accessible 反対するs tree for Writer 文書s 代表するs the 現在の 見解(をとる) of the 文書 as it does for any other 使用/適用, too.
It is obvious that the most important accessible 反対するs are the ones that 含む/封じ込める the 文書's text, or to be more 正確な, support the AccessibleEditableText service. A real difficulty however results from the fact that the text that is 明白な on the 審査する might in fact be part of very different parts of the 文書. If a 文書 for instance 含む/封じ込めるs headers and footers for pages, text from a footer, a header and text from the the 団体/死体 地域 of two different pages might be 明白な 同時に. And things might become more コンビナート/複合体 if columns, text-boxes and footnotes get 伴う/関わるd.
Beside text that might be 含む/封じ込めるd in very different 反対するs, the 見解(をとる) of a Writer 文書 might also 含む/封じ込める (米)棚上げする/(英)提議するs, images, 製図/抽選s and OLE 反対するs.
This 草案 first gives an overview of the accessible 反対する tree for Writer 文書s, followed by some explanations what 推論する/理由s led to the structure. After that, a 詳細(に述べる)d specification follows.
1. Overview
The root accessible 反対する (i.e. the one of the window that 含む/封じ込めるs 見解(をとる) of the Writer 文書) has a child 反対する for
the 団体/死体 text of the 文書 (i.e. the text that is 分配するd to the pages of a text 文書), except for the very rare 事例/患者s where no 団体/死体 text is 明白な at all;
every page header and every page footer that is 明白な;
every footnote and endnote that is 明白な; and
every text-box, image, OLE 反対する and 製図/抽選 that is 明白な;
Teseobjects are called area 反対するs within this 提案.
There is neither an 反対する for pages nor for columns. This 特に means that there is 正確に/まさに one 反対する for 団体/死体 text that is 明白な 現在/一般に, even if the text appears on different pages.
With the exception of text-boxes, images, OLE 反対するs and 製図/抽選s the only service area 反対するs support is AccessibleContext. This 特に means that there is no AccessibleComponent service 利用できる and therefor no geometrical (警察などへの)密告,告訴(状).
Text-boxes, images, OLE 反対するs and 製図/抽選s however do support the AccessibleComponent service. They are children of the root 反対する, regardless whether they in fact are bound to a page, a paragraph, etc.
With the exception of images, OLE 反対するs and 製図/抽選s, area 反対するs have children that are either paragraph fragment 反対するs or (米)棚上げする/(英)提議する fragment 反対する.
A paragraph fragment 反対する supports the AccessibleEditableText and AccessibleComponent services1. It either 代表するs the text of a paragraph or the text of a part of a paragraph, if the paragraph 含む/封じ込めるs page or column breaks. In the later 事例/患者 it 代表するs 正確に/まさに the paragraph's text that is 陳列する,発揮するd at 確かな page or within a 確かな column. In other words, a 選び出す/独身 paragraph might be 代表するd by more than one paragraph fragment 反対する if and only if 含む/封じ込めるs page or column breaks. But a paragraph fragment 反対する never 含む/封じ込めるs text from more than one paragraphs.
A (米)棚上げする/(英)提議する fragment 反対する supports the AccessibleTable service. It 代表するs the fragment of a (米)棚上げする/(英)提議する that is 陳列する,発揮するd on one page or in one column. The (米)棚上げする/(英)提議する 独房 反対するs themselves have paragraph fragment 反対するs as children again.
All area 反対するs 含む/封じ込める children only for paragraphs and (米)棚上げする/(英)提議するs (or fragments of them) that are at least 部分的に/不公平に 明白な. If a page header for instance 含む/封じ込めるs two paragraphs, but only one of them is 明白な, then the page header's area 反対する has one child only2.
Paragraph 同様に as (米)棚上げする/(英)提議する fragment 反対するs that are 部分的に/不公平に 明白な 含む/封じ込める their off-審査する parts, too. This means that a paragraph fragment 反対する 含む/封じ込めるs text that is not 陳列する,発揮するd 現在/一般に and a (米)棚上げする/(英)提議する fragment 反対する 含む/封じ込めるs 独房s that are not 陳列する,発揮するd 現在/一般に.
2. Design 影響(力)s
This section 述べるs some 概念s and 問題/発行するs that 影響(力)d the accessible 反対する 状況 tree 述べるd in the previous section.
Text Flows
As said above, the text that is shown in the 見解(をとる) of a Writer 文書 might in fact be 含む/封じ込めるd in different 関係のない parts of a 文書. Within this 提案, these parts are called text flows. The に引き続いて text flows 存在する:
page headers
page footers
foot- and endnotes
text boxes
(米)棚上げする/(英)提議する 独房s
text 含む/封じ込めるd in 製図/抽選s
団体/死体 text i.e. the text that is 分配するd to the page's 団体/死体 地域s.
On the 審査する, the different text flows can be distinguished by gaps or lines between them, or by other hints like background colors. For the accessibility API a simple way to distinguish them should 存在する, too. This for instance enables 発言する/表明する 道具s to read the 団体/死体 text of a 文書 without mixing it up with headers, footers, footnotes and so on.
An appropriate way to get a differentiation between text flows seems to be the parent/child relation the XAccessibleContext interface 申し込む/申し出s. This 要求するs that
a 選び出す/独身 反対する that supports the AccessibleEditableText service must not 代表する text from different text flows.
A 選び出す/独身 反対する that supports the AccessibleContext service does not have children that 代表する text from different text flow.
The area 反対するs 正確に/まさに make use of these parent/child relation to 異なる between text flows. To get a unique 接近 to the text flow's text is seems to be reasonable to use area 反対するs even if if they 含む/封じ込める one child only.
Pages And Columns
If a 文書 is not 陳列する,発揮するd in the Online Layout 方式, then its 団体/死体 text flow is 分配するd to several pages. On the 審査する, the different pages are visualized by a gray 妨げる/法廷,弁護士業s between them.
There seems to be no 必要物/必要条件 for having an accessible 反対する for pages itself. But in many 事例/患者s, it also seems not to be convenient that text that is accessible by a 選び出す/独身 AccessibleEditableText service 含む/封じ込めるs a page break, that is, 代表するs text from two different pages. This is the 事例/患者 if the page before the page break 含む/封じ込めるs a footer and/or footnotes, or if the page behind the page break 含む/封じ込めるs a header. If the AccessibleEditableText for the 団体/死体 text would 代表する the text of both pages, then its bounding box would overlap with the ones of the headers, footers or footnotes.
Moreover it does not seem to be convenient that an AccessibleEditableText 代表するs text of different columns. The simple 推論する/理由 for this is that an AccessibleEditableText that 含む/封じ込めるs text of more than one column would 要求する more than one bounding box.
Like for pages, there also seems to be no 必要物/必要条件 for having an accessible 反対する for columns themselves.
Paragraphs
The third thing that has to taken into account when defining the accessible 反対する tree are paragraphs. On the one 手渡す, paragraphs divide text into fragments at reasonable positions. On the other 手渡す, and that's more important, they 割り当てる 確かな semantics to text, like 存在 a 長,率いるing or an item of a 弾丸 名簿(に載せる)/表(にあげる). These semantics put a structure at the 文書 that is at least helpful for 航海 in a 文書. Therefor it seems to be reasonable to not have text of more than one paragraph within one accessible 反対する, and to 含む the 構造上の (警察などへの)密告,告訴(状) a paragraph carries into either the 反対する's description or 役割.
The opposite however does not 持つ/拘留する. A paragraph's text has to be 分配するd to more than one 反対する if the paragraph 含む/封じ込めるs a page or column break. Therefor there will be accessible 反対するs for paragraph 部分s in fact, the paragraph fragment 反対するs.
Though the 指導基準s 明言する/公表する that text can be splitted into on- and off-審査する parts, it seems not to be convenient to do that for paragraph 部分s. This means that text that is not 明白な on the scroll might be accessible through an AccessibleEditableText service, 供給するd that also some text of the same service is 陳列する,発揮するd. There are two 推論する/理由s for that, that both have to do with the fact the each paragraph fragment 反対する also supports the AccessibleComponent service that gives 接近 to its 審査する 調整するs. First of all, that's the same 行為 has for any other accessible 反対する that supports the AccessibleCpmponet service. Secondly, and more important, hiding the 非,不,無 明白な text fragments would have the result that a simple scroll 活動/戦闘 might change the 反対するs text.
3. 詳細(に述べる)s
To be continued ...
1Editor's 公式文書,認める: There is a open 問題/発行する with read-only and 生成するd text within paragraphs, like fields and 生成するd hyphens. Therefor it might be necessary that the paragraph fragment 反対するs do not support AccessibleEditableText themselves, but have children that either support AccessibleText or AcessibleEditableText.
2That's in fact the 推論する/理由 these 反対するs are called header area 反対するs instead of header 反対するs. They do not 代表する a header, but an area on the 審査する there a header is 陳列する,発揮するd.

