Another p.s.
The reason the group ended up suggesting actions is that users would
use the GUI for clipboard operations so the actions would be
available to provide support for some future AT that might not be
able to use the GUI.
That brings up the question of will there ever be a case where there
is no keyboard accessible GUI for cut/copy/paste? If there will
always be a keyboard accessible GUI will there ever be an AT that
can't access that GUI? I assume even GOK users can manipulate a
context menu.
I think the action interface was for something like an image map
with several unique actionable areas that are only accessible via a
mouse click.
I suspect we can just deprecate the cut/copy/paste methods of
IAEditableText and not provide equivalent actions. This would save
unneeded a11y implementations.
Pete
On 7/22/2011 4:00 PM, Pete Brunet wrote:
p.s. What is the advantages of subclassing? On the client side it
would save a QI to switch from IAClipboard and IAEditableText. On
the server side I don't think it matters because both interfaces
would be implemented on the same object.
The other issue is that copy can be done from editable or
non-editable text so for a non-editable object a server would
implement IAText and only the copy method of IAClipboard and none
of the methods in IAClipboard's superclass. Due to that, if
subclassing is the desired approach, it would be better to derive
from IAText instead.
For completeness I'm assuming you'd only want to use
IAEditableText on an editable object.
Pete
On 7/22/2011 1:39 PM, Pete Brunet wrote:
To all: Please let me know your preference for actions vs
another interface.
Assuming I understand Peter the alternative is to deprecate the
3 existing clipboard methods in IAccessibleEditableText and then
provide IAccessibleClipboard deriving from
IAccessibleEditableText and providing 3 new methods: cut, copy,
paste. All methods would use the selection, not offset
parameters. paste would have a type enum parameter with values
for default, formatted, and unformatted.
Pete
On 7/22/2011 1:00 PM, Peter Korn wrote:
Pete,
Thinking back about these discussions, I wonder if a better
way to approach this is a new sub-interface:
AccessibleClipboard. Then any object (container?) would
implement this as appropriate for it.
Peter
On 7/22/2011 10:56 AM, Pete Brunet wrote:
I believe these are the issues related to clipboard
operations
1) Copy should have been in IAText instead since copy
doesn't require that an object be editable
2) The current selection should be used instead of offset
parameters.
3) Other formats besides text can be copied to and pasted
from the clipboard.
I think the following proposal is in line with the prior
discussion regarding a solution.
- Deprecate the 3 clipboard operations from IAEditableText.
(They are currently not in use.)
- Provide 5 new preset action constants for copy, cut,
pasteDefault, pasteFormatted, and pasteUnformatted.
- pasteDefault: The result would be the same as Ctrl+V
- pasteFormatted: The app has the choice of presenting a
list of choices via a GUI or choosing the format without
user interaction.
- pasteUnformatted: The app would paste raw text. This
could result in nothing being pasted, e.g. for an image, and
IAAction::doAction would return S_FALSE.
- The new clipboard actions would use the current
selection(s).
Is that acceptable?
Pete
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
--
Peter Korn | Accessibility Principal
Phone: +1 650 506 9522
Oracle Corporate Architecture
Group
500 Oracle Parkway | Redwood City, CA 94065
Oracle is committed to developing
practices and products that help protect the environment
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
|
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2