#include <FGrp_TextTextSimple.h>
#include "FUi_AccessibilityContainer.h"
#include "FUi_AccessibilityElement.h"
-#include "FUi_AccessibilityManager.h"
#include "FUi_CoordinateSystemUtils.h"
#include "FUi_Math.h"
#include "FUi_ResourceManager.h"
SetSize(itemDimension);
- _AccessibilityContainer* pContainer = GetAccessibilityContainer();
-
- if ((__pAccessibilityElement != null) && (pContainer != null))
+ if (__pAccessibilityElement != null)
{
SetAccessibilityElement();
-
- _AccessibilityManager::GetInstance()->RequestToDrawFocusUi();
}
}
}
__pAccessibilityElement = new (std::nothrow) _AccessibilityElement(true);
SysTryReturnVoidResult(NID_UI_CTRL, (__pAccessibilityElement != null), E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
- __pAccessibilityElement->SetBounds(Rectangle(0, 0, _CoordinateSystemUtils::ConvertToInteger(GetBoundsF().width), _CoordinateSystemUtils::ConvertToInteger(GetBoundsF().height)));
- __pAccessibilityElement->SetTrait(ACCESSIBILITY_TRAITS_NONE);
- __pAccessibilityElement->SetName(L"ListViewItem");
-
pContainer->AddElement(*__pAccessibilityElement);
}
- else
- {
- __pAccessibilityElement->SetBounds(Rectangle(0, 0, _CoordinateSystemUtils::ConvertToInteger(GetBoundsF().width), _CoordinateSystemUtils::ConvertToInteger(GetBoundsF().height)));
- }
+
+ __pAccessibilityElement->SetBounds(FloatRectangle(0.0f, 0.0f, GetBoundsF().width, GetBoundsF().height));
}
}
void
_ListViewItem::SetAccessibilityElementLabel(void)
{
+ if (__pAccessibilityElement == null)
+ {
+ return;
+ }
+
_LinkedList <_ListViewItemElement*> accessibilityElementList;
_LinkedList <_ListViewItemElement>::_Iterator iter;
+ _LinkedList <_ListViewItemElement*>::_Iterator accessibilityIter;
+ _ListViewItemElement* pElement = null;
+ String accessibilityName;
+ String accessibilityLable;
+ String accessibilityTrait;
+ String accessibilityValue;
+ int groupIndex = -1;
+ int itemIndex = -1;
+
+ // accessibility element name
+ GetItemIndex(groupIndex, itemIndex);
+ if (__itemType == LISTVIEW_ITEM_TYPE_GROUP)
+ {
+ accessibilityTrait = L"Group Index";
+ accessibilityName = L"GroupIndex" + Integer::ToString(groupIndex);
+ }
+ else
+ {
+ accessibilityName = L"ListViewItem" + Integer::ToString(groupIndex) + L"_" + Integer::ToString(itemIndex);
+ }
+
+ // accessibility element label
for (iter = __elements.begin(); iter != __elements.end(); iter++)
{
if ((iter->elementType == LISTVIEW_ITEM_ELEMENT_TEXT) || (iter->elementType == LISTVIEW_ITEM_ELEMENT_BITMAP))
accessibilityElementList.sort(CompareAccessibilityElement);
- _LinkedList <_ListViewItemElement*>::_Iterator accessibilityIter;
- _ListViewItemElement* pElement = null;
- String accessibilityLable;
-
for (accessibilityIter = accessibilityElementList.begin(); accessibilityIter != accessibilityElementList.end(); accessibilityIter++)
{
pElement = *accessibilityIter;
accessibilityLable = L"ListViewItem";
}
+ if (__descriptionTextShowState)
+ {
+ String descriptionText = __pDescriptionText->GetText();
+ accessibilityLable += ((descriptionText.GetLength() > 0) ? (L", " + descriptionText + L"") : L"");
+ }
+
+ // accessibility element trait and value
switch(GetItemStyle())
{
case TABLE_VIEW_ANNEX_STYLE_MARK:
- if (IsChecked())
- {
- accessibilityLable += L"Tickbox ticked";
- }
- else
- {
- accessibilityLable += L"Tickbox unticked";
- }
+ accessibilityTrait = L"Tickbox";
+ accessibilityValue = (IsChecked() ? L"Ticked" : L"Unticked");
break;
case TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING:
case TABLE_VIEW_ANNEX_STYLE_ONOFF_SLIDING_WITH_DIVIDER:
- if (IsChecked())
- {
- accessibilityLable += L"On/Off button On";
- }
- else
- {
- accessibilityLable += L"On/Off button Off";
- }
+ accessibilityTrait = L"On/Off button";
+ accessibilityValue = (IsChecked() ? L"On" : L"Off");
break;
case TABLE_VIEW_ANNEX_STYLE_DETAILED:
- accessibilityLable += L"button";
+ accessibilityTrait = L"Button";
break;
case TABLE_VIEW_ANNEX_STYLE_RADIO:
- if (IsChecked())
- {
- accessibilityLable += L"Radio button selected";
- }
- else
- {
- accessibilityLable += L"Radio button unselected";
- }
+ accessibilityTrait = L"Radio button";
+ accessibilityValue = (IsChecked() ? L"Selected" : L"Unselected");
break;
default:
break;
}
- if (__descriptionTextShowState)
- {
- String descriptionText = __pDescriptionText->GetText();
- if (descriptionText.GetLength() > 0)
- {
- accessibilityLable += L", Description text (";
- accessibilityLable += descriptionText;
- accessibilityLable += L")";
- }
- }
-
- if (__itemType == LISTVIEW_ITEM_TYPE_GROUP)
- {
- accessibilityLable += L", group Index";
- }
-
+ __pAccessibilityElement->SetName(accessibilityName);
__pAccessibilityElement->SetLabel(accessibilityLable);
+ __pAccessibilityElement->SetTrait(accessibilityTrait);
+ __pAccessibilityElement->SetValue(accessibilityValue);
}
_ListViewItemHitTestVEDelegator::_ListViewItemHitTestVEDelegator(void)