Carolyn,

Would it then be easier for Accprobe to have  an additional parameter for 
IAccessibleValue::setAccessibleValue method to specify the type of the 
value? I can change the value parameter type back to object instead of 
string.

Kavitha Teegala
IBM Human Ability and Accessibility Center
Austin, TX
teeg...@us.ibm.com



From:
Richard Schwerdtfeger/Austin/i...@ibmus
To:
Carolyn MacLeod <carolyn_macl...@ca.ibm.com>
Cc:
accessibility-...@lists.linux-foundation.org, 
accessibility-ia2-boun...@lists.linuxfoundation.org
Date:
04/28/2010 08:27 AM
Subject:
Re: [Accessibility-ia2] IAccessibleValue VARIANT types -- not   BSTR 
please



Car, 

Value should not be a string. If there is a text equivalent it can be sent 
through the object properties. I had asked that the Firefox properties 
from aria, which allows for a text equivalent, become standard object 
properties. For example, a slider may have 7 days of the week and the 
current value is 1 for Monday. The text equivalent would be Monday. 

I strongly support that the value not be a BSTR.


Rich Schwerdtfeger
CTO Accessibility Software Group

Carolyn MacLeod ---04/27/2010 11:42:57 PM---The following item was 
discussed on the April 28 call: 
http://www.linuxfoundation.org/en/Accessibility/IAccessible2/Minutes/2

Carolyn MacLeod <carolyn_macl...@ca.ibm.com> 
Sent by: accessibility-ia2-boun...@lists.linuxfoundation.org 
04/27/2010 11:38 PM



To

accessibility-...@lists.linux-foundation.org

cc


Subject

[Accessibility-ia2] IAccessibleValue VARIANT types -- not BSTR please






The following item was discussed on the April 28 call: 
http://www.linuxfoundation.org/en/Accessibility/IAccessible2/Minutes/20090428 


11.Types for IAValue 
Should the VARIANT types for IAValue be limited to VT_I4 and VT_BSTR? 
- It was felt other numerics, especially floats, such at VT_R8 (double) 
should also be allowed. 
- For next time: Is VT_I4, VT_R8, and VT_BSTR sufficient? (There is also 
VT_I8 to consider.) 
- It was also felt that if the current value is a numeric then the min and 
max should also be numeric and of the same type. 
- It wasn't clear what to do if the current value is a BSTR. Pete will 
check with some developers. 

I guess there was no "next call", so the spec for IAccessibleValue VARIANT 
types wasn't finalized. 
It still isn't clear what to do if the current value is a BSTR, because 
it's completely unspecified. 

The interface description says IAValue represents a "numerical value": 
http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/interface_i_accessible_value.html#_details
 

So I supported VT_I4, VT_I8, VT_R4, or VT_R8 (and VT_EMPTY). I didn't 
implement VT_BSTR - I don't even look for it. 
Then I fired up AccProbe and tried to set a value, and it sent me a BSTR! 
I don't have a clue what to do with it. At the moment, I do nothing. 
But IAccessibleValue::setCurrentValue doesn't spec any way to say I didn't 
set the value, like maybe I shouold return S_FALSE, or E_INVALIDARG or 
VT_EMPTY. (The spec for the "value" parameter has [out] in the 
'Parameters:' list, but I assume that is a typo?) 

My current thinking is that VT_BSTR should not be a permitted type. As a 
server, if someone hands me a string and says "Here, set the numeric value 
of this object based on this string", then unless we specify that string 
precisely, the odds of me doing the right thing with that string are maybe 
50-50. Is the string decimal or hex or octal? Does it represent a positive 
or negative number? Is it comprised only of a string of digits? Can it 
start with zeros? If so, what does that mean? Are letters allowed? Caps or 
lowercase? Localized? Is whitespace allowed? Are expressions allowed? 
Fractions? etc.... "-99", "BABE", "0x50F0", "76.5", "1.0", "1.00", "033", 
"007", "10,000,000", "3/4", "2+2", "XXXVI", "one", "twenty-seven", 
"quatre-vingt-dix-neuf", "pi", "root 2", "NaN". <grin> 

I don't think it makes sense to allow BSTR without fully specifying it - 
particularly as IAccessibleValue::setCurrentValue does not have a way for 
me to say S_FALSE or E_INVALIDARG. 

Can we specify the type of an IAValue as: VT_I4, VT_I8, (VT_R4?), VT_R8, 
(VT_EMPTY for getters only?) 
...but not VT_BSTR. 

Car_______________________________________________
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
_______________________________________________
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<image/gif>>

<<attachment: pic23034.gif>>

_______________________________________________
Accessibility-ia2 mailing list
Accessibility-ia2@lists.linuxfoundation.org
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2

Reply via email to