void GeckoVBufBackend_t::versionSpecificInit(IAccessible2* pacc) {\r
// Defaults.\r
this->shouldDisableTableHeaders = false;\r
+ this->hasEncodedAccDescription = false;\r
\r
IServiceProvider* serv = NULL;\r
if (pacc->QueryInterface(IID_IServiceProvider, (void**)&serv) != S_OK)\r
iaApp = NULL;\r
\r
if (wcscmp(toolkitName, L"Gecko") == 0) {\r
- if (wcsncmp(toolkitVersion, L"1.9.2.", 6) == 0) {\r
- // Gecko 1.9.2.x.\r
- // Retrieve the digits for the final part of the main version number.\r
- wstring verPart;\r
- for (wchar_t* c = &toolkitVersion[6]; iswdigit(*c); c++)\r
- verPart += *c;\r
- if (_wtoi(verPart.c_str()) <= 10) {\r
- // Gecko <= 1.9.2.10 will crash if we try to retrieve headers on some table cells, so disable them.\r
- this->shouldDisableTableHeaders = true;\r
+ if (wcsncmp(toolkitVersion, L"1.", 2) == 0) {\r
+ if (wcsncmp(toolkitVersion, L"1.9.2.", 6) == 0) {\r
+ // Gecko 1.9.2.x.\r
+ // Retrieve the digits for the final part of the main version number.\r
+ wstring verPart;\r
+ for (wchar_t* c = &toolkitVersion[6]; iswdigit(*c); c++)\r
+ verPart += *c;\r
+ if (_wtoi(verPart.c_str()) <= 10) {\r
+ // Gecko <= 1.9.2.10 will crash if we try to retrieve headers on some table cells, so disable them.\r
+ this->shouldDisableTableHeaders = true;\r
+ }\r
}\r
+ // Gecko 1.x uses accDescription to encode position info as well as the description.\r
+ this->hasEncodedAccDescription = true;\r
}\r
}\r
\r
LOG_DEBUG(L"getting accDescription");\r
BSTR description=NULL;\r
if((res=pacc->get_accDescription(varChild,&description))==S_OK) {\r
- parentNode->addAttribute(L"description",description);\r
+ if(this->hasEncodedAccDescription) {\r
+ if(wcsncmp(description,L"Description: ",13)==0)\r
+ parentNode->addAttribute(L"description",&description[13]);\r
+ } else\r
+ parentNode->addAttribute(L"description",description);\r
SysFreeString(description);\r
}\r
// Handle table cell information.\r