Hi, Pete. Having VARIANT is a great way to have extensible interface. This approach combines object attributes and relations ideas since VARIANT can be used to return an object. It's just flexible. You know Gecko exposes non standard object attributes (see https://developer.mozilla.org/en-US/docs/Accessibility/AT-APIs/Gecko/Attrs) where VARIANT can be helpful too.
Object attribute type examples (including Gecko's only): * boolean: layout-guess, cycles * integer: table-cell-index, line-number, setsize, level, posinset * length: maring-left/right/etc, text-indent: we can end up to use something else than string. Thanks. Alex. On Thu, Sep 13, 2012 at 10:59 AM, Pete Brunet <[email protected]> wrote: > Hi Alex, I looked through all the object attributes (existing as documented > in the wiki plus the new ones we've recently documented as additions) and > the only non-string type I found was the list level which is an integer, but > it's a sub-attribute which would not be returned by itself. Since there are > no non-string attributes it makes sense that the IA2_2::attribute (by type) > method should return a BSTR. -Pete > > > On 9/12/12 8:15 PM, Alexander Surkov wrote: > > I was thinking of the extra work related to the fact that there would be one > set of code to build up the full attribute string and another to create the > VARIANT, but maybe the hard part was to create the full attribute string and > the trivial part is to create the VARIANT. > > Indeed it adds complexity for implementers. The point of VARIANT is to > avoid int to string (browser) and string to int (AT) conversions. > After all this method is just an extension of API which allows to keep > the conversations between the server and AT faster, thus if the server > decides to implement only canonical version then it keeps working. > > I don't mind using a VARIANT, but based on my work situation it would be > best if someone took on the job of updating the wiki document to include > what is returned by IA2_2::attribute for each object attribute. > > I'd suggest to do that after prototyping so we don't do mistakes in > hurry. Let's say the string is expected for now and VARIANT is > reserved for the future. > > Alex. > > > On Thu, Sep 13, 2012 at 1:56 AM, Pete Brunet <[email protected]> wrote: > > On 9/9/12 3:11 AM, James Teh wrote: > > Hi. > This does make sense, though there are a few issues: > 1. This creates inconsistency between fetching all attributes at once and > fetching a single attribute. Maybe this isn't important; I'm not sure. > 2. Most of the integer attributes aren't strictly integers across the spec > and various implementations. For example, Firefox seems to provide units in > px, but I'm pretty sure the spec says mm. > > As for creating extra work for implementers, even in C++, working with basic > VARIANTs isn't too difficult. In some ways, parsing strings is probably > harder. > > I was thinking of the extra work related to the fact that there would be one > set of code to build up the full attribute string and another to create the > VARIANT, but maybe the hard part was to create the full attribute string and > the trivial part is to create the VARIANT. > > I don't mind using a VARIANT, but based on my work situation it would be > best if someone took on the job of updating the wiki document to include > what is returned by IA2_2::attribute for each object attribute. > > > Jamie > > On 8/09/2012 10:38 AM, Pete Brunet wrote: > > Hi Alex, At least from the perspective of the spec I don't have time to > make this change, i.e. I think it would take quite a bit of time for me > to specify which VARIANT type is returned for each of the attributes in > the spec. Some else could pick up that work though. Updating the method > from BSTR to VARIANT would be easy enough though. Is this also extra > work for the implementers? -Pete > > On 9/7/12 7:20 PM, Alexander Surkov wrote: > > Hi. Since we are going to introduce a method that allows to fetch > object attribute by name then it should be nice if we are able to > return typed value. For example, if the AT wants a margin-top object > attribute then the server could return an integer. > > Thank you. > Alex. > > > -- > *Pete Brunet* > > a11ysoft - Accessibility Architecture and Development > (512) 467-4706 (work), (512) 689-4155 (cell) > Skype: pete.brunet > IM: ptbrunet (AOL, Google), [email protected] (MSN) > http://www.a11ysoft.com/about/ > Ionosphere: WS4G > > > _______________________________________________ > Accessibility-ia2 mailing list > [email protected] > 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), [email protected] (MSN) > http://www.a11ysoft.com/about/ > Ionosphere: WS4G > > _______________________________________________ > Accessibility-ia2 mailing list > [email protected] > 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), [email protected] (MSN) > http://www.a11ysoft.com/about/ > Ionosphere: WS4G _______________________________________________ Accessibility-ia2 mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2
