| Index: content/renderer/accessibility/blink_ax_tree_source.cc
|
| diff --git a/content/renderer/accessibility/blink_ax_tree_source.cc b/content/renderer/accessibility/blink_ax_tree_source.cc
|
| index 28d3f6042a85b1fb5c3113f77c9aa0e3f0bfc1f2..396a013fc845b728378c9ebaef56e17ff9831d41 100644
|
| --- a/content/renderer/accessibility/blink_ax_tree_source.cc
|
| +++ b/content/renderer/accessibility/blink_ax_tree_source.cc
|
| @@ -85,11 +85,10 @@ class AXContentNodeDataSparseAttributeAdapter
|
| const blink::WebString& value) override {
|
| switch (attribute) {
|
| case blink::WebAXStringAttribute::AriaKeyShortcuts:
|
| - // TODO(dmazzoni): implement aria-keyshortcuts. http://crbug.com/644766
|
| + dst_->AddStringAttribute(ui::AX_ATTR_KEY_SHORTCUTS, value.utf8());
|
| break;
|
| case blink::WebAXStringAttribute::AriaRoleDescription:
|
| - // TODO(dmazzoni): implement aria-roledescription.
|
| - // http://crbug.com/644766
|
| + dst_->AddStringAttribute(ui::AX_ATTR_ROLE_DESCRIPTION, value.utf8());
|
| break;
|
| default:
|
| NOTREACHED();
|
| @@ -103,8 +102,7 @@ class AXContentNodeDataSparseAttributeAdapter
|
| dst_->AddIntAttribute(ui::AX_ATTR_ACTIVEDESCENDANT_ID, value.axID());
|
| break;
|
| case blink::WebAXObjectAttribute::AriaErrorMessage:
|
| - // TODO(dmazzoni): implement aria-errormessage.
|
| - // http://crbug.com/644766
|
| + dst_->AddIntAttribute(ui::AX_ATTR_ERRORMESSAGE_ID, value.axID());
|
| break;
|
| default:
|
| NOTREACHED();
|
| @@ -120,7 +118,8 @@ class AXContentNodeDataSparseAttributeAdapter
|
| dst_);
|
| break;
|
| case blink::WebAXObjectVectorAttribute::AriaDetails:
|
| - // TODO(dmazzoni): implement aria-details. http://crbug.com/644766
|
| + AddIntListAttributeFromWebObjects(ui::AX_ATTR_DETAILS_IDS, value,
|
| + dst_);
|
| break;
|
| case blink::WebAXObjectVectorAttribute::AriaFlowTo:
|
| AddIntListAttributeFromWebObjects(ui::AX_ATTR_FLOWTO_IDS, value, dst_);
|
| @@ -647,6 +646,11 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src,
|
| src.minValueForRange());
|
| }
|
|
|
| + if (dst->role == ui::AX_ROLE_DIALOG ||
|
| + dst->role == ui::AX_ROLE_ALERT_DIALOG) {
|
| + dst->AddBoolAttribute(ui::AX_ATTR_MODAL, src.isModal());
|
| + }
|
| +
|
| if (dst->role == ui::AX_ROLE_ROOT_WEB_AREA)
|
| dst->AddStringAttribute(ui::AX_ATTR_HTML_TAG, "#document");
|
|
|
|
|