Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: webkit/glue/glue_accessibility_object.cc

Issue 174382: Adds support for WAI-ARIA roles application, document, radiogroup, region, se... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/browser_accessibility.cc ('k') | webkit/glue/webaccessibility.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "AccessibilityObject.h" 7 #include "AccessibilityObject.h"
8 #include "EventHandler.h" 8 #include "EventHandler.h"
9 #include "FrameView.h" 9 #include "FrameView.h"
10 #include "PlatformKeyboardEvent.h" 10 #include "PlatformKeyboardEvent.h"
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 // 'Description: ' part of this string, it will be parsed out by assistive 358 // 'Description: ' part of this string, it will be parsed out by assistive
359 // technologies." 359 // technologies."
360 return "Description: " + desc; 360 return "Description: " + desc;
361 } 361 }
362 362
363 // Provides a conversion between the WebCore::AccessibilityRole and a 363 // Provides a conversion between the WebCore::AccessibilityRole and a
364 // role supported on the Browser side. Listed alphabetically by the 364 // role supported on the Browser side. Listed alphabetically by the
365 // WebAccessibility role (except for default role). Static function. 365 // WebAccessibility role (except for default role). Static function.
366 static WebAccessibility::Role SupportedRole(WebCore::AccessibilityRole role) { 366 static WebAccessibility::Role SupportedRole(WebCore::AccessibilityRole role) {
367 switch (role) { 367 switch (role) {
368 case WebCore::LandmarkApplicationRole:
369 return WebAccessibility::ROLE_APPLICATION;
368 case WebCore::CellRole: 370 case WebCore::CellRole:
369 return WebAccessibility::ROLE_CELL; 371 return WebAccessibility::ROLE_CELL;
370 case WebCore::CheckBoxRole: 372 case WebCore::CheckBoxRole:
371 return WebAccessibility::ROLE_CHECKBUTTON; 373 return WebAccessibility::ROLE_CHECKBUTTON;
372 case WebCore::ColumnRole: 374 case WebCore::ColumnRole:
373 return WebAccessibility::ROLE_COLUMN; 375 return WebAccessibility::ROLE_COLUMN;
374 case WebCore::ColumnHeaderRole: 376 case WebCore::ColumnHeaderRole:
375 return WebAccessibility::ROLE_COLUMNHEADER; 377 return WebAccessibility::ROLE_COLUMNHEADER;
376 case WebCore::WebAreaRole: 378 case WebCore::WebAreaRole:
377 return WebAccessibility::ROLE_DOCUMENT; 379 return WebAccessibility::ROLE_DOCUMENT;
378 case WebCore::ImageMapRole: 380 case WebCore::ImageMapRole:
379 case WebCore::ImageRole: 381 case WebCore::ImageRole:
380 return WebAccessibility::ROLE_GRAPHIC; 382 return WebAccessibility::ROLE_GRAPHIC;
383 case WebCore::DocumentRegionRole:
384 case WebCore::RadioGroupRole:
381 case WebCore::GroupRole: 385 case WebCore::GroupRole:
382 return WebAccessibility::ROLE_GROUPING; 386 return WebAccessibility::ROLE_GROUPING;
383 case WebCore::LinkRole: 387 case WebCore::LinkRole:
384 case WebCore::WebCoreLinkRole: 388 case WebCore::WebCoreLinkRole:
385 return WebAccessibility::ROLE_LINK; 389 return WebAccessibility::ROLE_LINK;
386 case WebCore::ListRole: 390 case WebCore::ListRole:
387 return WebAccessibility::ROLE_LIST; 391 return WebAccessibility::ROLE_LIST;
388 case WebCore::ListBoxRole: 392 case WebCore::ListBoxRole:
389 return WebAccessibility::ROLE_LISTBOX; 393 return WebAccessibility::ROLE_LISTBOX;
390 case WebCore::MenuBarRole: 394 case WebCore::MenuBarRole:
(...skipping 10 matching lines...) Expand all
401 case WebCore::ProgressIndicatorRole: 405 case WebCore::ProgressIndicatorRole:
402 return WebAccessibility::ROLE_PROGRESSBAR; 406 return WebAccessibility::ROLE_PROGRESSBAR;
403 case WebCore::ButtonRole: 407 case WebCore::ButtonRole:
404 return WebAccessibility::ROLE_PUSHBUTTON; 408 return WebAccessibility::ROLE_PUSHBUTTON;
405 case WebCore::RadioButtonRole: 409 case WebCore::RadioButtonRole:
406 return WebAccessibility::ROLE_RADIOBUTTON; 410 return WebAccessibility::ROLE_RADIOBUTTON;
407 case WebCore::RowRole: 411 case WebCore::RowRole:
408 return WebAccessibility::ROLE_ROW; 412 return WebAccessibility::ROLE_ROW;
409 case WebCore::RowHeaderRole: 413 case WebCore::RowHeaderRole:
410 return WebAccessibility::ROLE_ROWHEADER; 414 return WebAccessibility::ROLE_ROWHEADER;
415 case WebCore::SplitterRole:
416 return WebAccessibility::ROLE_SEPARATOR;
411 case WebCore::SliderRole: 417 case WebCore::SliderRole:
412 return WebAccessibility::ROLE_SLIDER; 418 return WebAccessibility::ROLE_SLIDER;
413 case WebCore::StaticTextRole: 419 case WebCore::StaticTextRole:
414 return WebAccessibility::ROLE_STATICTEXT; 420 return WebAccessibility::ROLE_STATICTEXT;
421 case WebCore::ApplicationStatusRole:
422 return WebAccessibility::ROLE_STATUSBAR;
415 case WebCore::TableRole: 423 case WebCore::TableRole:
416 return WebAccessibility::ROLE_TABLE; 424 return WebAccessibility::ROLE_TABLE;
417 case WebCore::ListMarkerRole: 425 case WebCore::ListMarkerRole:
418 case WebCore::TextFieldRole: 426 case WebCore::TextFieldRole:
419 case WebCore::TextAreaRole: 427 case WebCore::TextAreaRole:
420 return WebAccessibility::ROLE_TEXT; 428 return WebAccessibility::ROLE_TEXT;
421 case WebCore::ToolbarRole: 429 case WebCore::ToolbarRole:
422 return WebAccessibility::ROLE_TOOLBAR; 430 return WebAccessibility::ROLE_TOOLBAR;
431 case WebCore::UserInterfaceTooltipRole:
432 return WebAccessibility::ROLE_TOOLTIP;
433 case WebCore::DocumentRole:
423 case WebCore::UnknownRole: 434 case WebCore::UnknownRole:
424 default: 435 default:
425 // This is the default role. 436 // This is the default role.
426 return WebAccessibility::ROLE_CLIENT; 437 return WebAccessibility::ROLE_CLIENT;
427 } 438 }
428 } 439 }
429 440
430 WebAccessibility::Role GlueAccessibilityObject::role() const { 441 WebAccessibility::Role GlueAccessibilityObject::role() const {
431 return SupportedRole(m_object->roleValue()); 442 return SupportedRole(m_object->roleValue());
432 } 443 }
(...skipping 26 matching lines...) Expand all
459 if (!obj) 470 if (!obj)
460 return NULL; 471 return NULL;
461 472
462 GlueAccessibilityObject* result = 473 GlueAccessibilityObject* result =
463 static_cast<GlueAccessibilityObject*>(obj->wrapper()); 474 static_cast<GlueAccessibilityObject*>(obj->wrapper());
464 if (!result) 475 if (!result)
465 result = CreateInstance(obj); 476 result = CreateInstance(obj);
466 477
467 return result; 478 return result;
468 } 479 }
OLDNEW
« no previous file with comments | « chrome/browser/browser_accessibility.cc ('k') | webkit/glue/webaccessibility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698