[Accessibility-ia2] IEnumVARIANT vs arrays

Alexander Surkov surkov.alexander at gmail.com
Tue Mar 6 06:26:26 UTC 2012


2nd is more flexible than 1, 1.1 is a nice shortcut for 2 in case of
one target so probably I would go with 1.1 and 2.
Alex.

On Tue, Mar 6, 2012 at 2:35 PM, Pete Brunet <pete at a11ysoft.com> wrote:
> Thanks Alex (and Jamie), I offer two choices, and in both cases using IDL
> like our recently added IATable2::selectedRows/Columns/Cells.  I like the
> first choice better because it offers a very simple method for the case that
> will be used 99% of the time.  The second choice is the one Jamie proposed.
>
> 1)
> // Fetch one target, even if there is more than one.
> HRESULT IAccessible2_2::relationTargetOfType (
>   [in] BSTR type,
>   [out, retvalue] IUnknown **target )
>
> and
>
> // Fetch all targets
> HRESULT IAccessible2_2::relationTargetsOfType (
>   [in] BSTR type,
>   [out, size_is(,*nTargets)] IUnknown ***targets,
>
>   [out, retval] long *nTargets  )
>
> 2)
> // Fetch either one or all targets depending on the maxTargets parameter.
> // Typically maxTargets will be 1 but if maxTargets is 0 the server will
> return all available targets, using nTargets to indicate how many were
> returned.
> HRESULT IAccessible2_2::relationTargetsOfType (
>   [in] BSTR type,
>   [in] long maxTargets,
>   [out, size_is(,*nTargets)] IUnknown ***targets,
>
>   [out, retval] long *nTargets  )
>
> That maxTargets parameter could be a boolean but as a long it provides the
> option of asking for the first n targets.
>
> In both cases the server would allocate the array, using CoTaskMemAlloc. The
> client would use CoTaskMemFree to free the array.
>
> Pete
>
>
> On 3/5/12 10:25 PM, Alexander Surkov wrote:
>
> Basically that's what Jamie said. We need to make sure the server
> doesn't do extra work when nobody needs it. So I'm fine with Jamie
> proposal to pass the desired targets amount.
> Alex.
>
> On Tue, Mar 6, 2012 at 1:19 PM, Alexander Surkov
> <surkov.alexander at gmail.com> wrote:
>
> ARIA tends to expose multiple targets especially stuffs like
> aria-labelledby. I don't have statistics though. But the point is if
> AT needs only one targets then the server shouldn't spend a time to
> check whether there are other targets. In other words we can end up
> with single target but the server can do a lot of computation to
> figure out this.
>
> Thank you.
> Alex.
>
>
> On Tue, Mar 6, 2012 at 6:31 AM, James Teh <jamie at nvaccess.org> wrote:
>
> On 6/03/2012 7:20 AM, Pete Brunet wrote:
>
> Jamie, Since the server allocates the array, are there any issues for AT
> regarding the method I proposed?
>
> Not directly for ATs. However, fetching multiple targets might be expensive
> and slow on the server side; if I recall correctly, Alex has concurred with
> this. Obviously, if the server is slow, the client slows down too. The idea
> was to allow clients who only want one target to just fetch one target
> without incurring a performance penalty on the server side.
>
> Alex, how often are there actually multiple targets for a single relation in
> Mozilla itself?
>
>
> Jamie
>
> --
> James Teh
> Director, NV Access Limited
> Email: jamie at nvaccess.org
> Web site: http://www.nvaccess.org/
> Phone: +61 7 5667 8372
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2 at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2 at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>
>
> --
> Pete Brunet
>
> a11ysoft - Accessibility Architecture and Development
> (512) 467-4706 (work), (512) 689-4155 (cell)
> Skype: pete.brunet
> IM: ptbrunet (AOL, Google), ptbrunet at live.com (MSN)
> http://www.a11ysoft.com/about/
> Ionosphere: WS4G
>
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2 at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
>


More information about the Accessibility-ia2 mailing list