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

Side by Side Diff: chrome/browser/browser_accessibility.cc

Issue 149265: Adds support for an initial set of WAI-ARIA roles, needed to support screen r... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 5 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 | « no previous file | webkit/glue/glue_accessibility_object.cc » ('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-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "chrome/browser/browser_accessibility.h" 5 #include "chrome/browser/browser_accessibility.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/browser_accessibility_manager.h" 8 #include "chrome/browser/browser_accessibility_manager.h"
9 9
10 using webkit_glue::WebAccessibility; 10 using webkit_glue::WebAccessibility;
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 return BrowserAccessibilityManager::GetInstance()-> 552 return BrowserAccessibilityManager::GetInstance()->
553 RequestAccessibilityInfo(&in_params, routing_id_, process_id_); 553 RequestAccessibilityInfo(&in_params, routing_id_, process_id_);
554 } 554 }
555 555
556 const WebAccessibility::OutParams& BrowserAccessibility::response() { 556 const WebAccessibility::OutParams& BrowserAccessibility::response() {
557 return BrowserAccessibilityManager::GetInstance()->response(); 557 return BrowserAccessibilityManager::GetInstance()->response();
558 } 558 }
559 559
560 long BrowserAccessibility::MSAARole(long browser_accessibility_role) { 560 long BrowserAccessibility::MSAARole(long browser_accessibility_role) {
561 switch (browser_accessibility_role) { 561 switch (browser_accessibility_role) {
562 case WebAccessibility::ROLE_PUSHBUTTON : 562 case WebAccessibility::ROLE_CELL:
563 return ROLE_SYSTEM_CELL;
564 case WebAccessibility::ROLE_CHECKBUTTON:
565 return ROLE_SYSTEM_CHECKBUTTON;
566 case WebAccessibility::ROLE_COLUMN:
567 return ROLE_SYSTEM_COLUMN;
568 case WebAccessibility::ROLE_COLUMNHEADER:
569 return ROLE_SYSTEM_COLUMNHEADER;
570 case WebAccessibility::ROLE_GRAPHIC:
571 return ROLE_SYSTEM_GRAPHIC;
572 case WebAccessibility::ROLE_GROUPING:
573 return ROLE_SYSTEM_GROUPING;
574 case WebAccessibility::ROLE_LINK:
575 return ROLE_SYSTEM_LINK;
576 case WebAccessibility::ROLE_LIST:
577 case WebAccessibility::ROLE_LISTBOX:
578 return ROLE_SYSTEM_LIST;
579 case WebAccessibility::ROLE_MENUITEM:
580 return ROLE_SYSTEM_MENUITEM;
581 case WebAccessibility::ROLE_MENUPOPUP:
582 return ROLE_SYSTEM_MENUPOPUP;
583 case WebAccessibility::ROLE_OUTLINE:
584 return ROLE_SYSTEM_OUTLINE;
585 case WebAccessibility::ROLE_PAGETABLIST:
586 return ROLE_SYSTEM_PAGETABLIST;
587 case WebAccessibility::ROLE_PROGRESSBAR:
588 return ROLE_SYSTEM_PROGRESSBAR;
589 case WebAccessibility::ROLE_PUSHBUTTON:
563 return ROLE_SYSTEM_PUSHBUTTON; 590 return ROLE_SYSTEM_PUSHBUTTON;
564 case WebAccessibility::ROLE_RADIOBUTTON : 591 case WebAccessibility::ROLE_RADIOBUTTON:
565 return ROLE_SYSTEM_RADIOBUTTON; 592 return ROLE_SYSTEM_RADIOBUTTON;
566 case WebAccessibility::ROLE_CHECKBUTTON : 593 case WebAccessibility::ROLE_ROW:
567 return ROLE_SYSTEM_CHECKBUTTON; 594 return ROLE_SYSTEM_ROW;
568 case WebAccessibility::ROLE_SLIDER : 595 case WebAccessibility::ROLE_ROWHEADER:
596 return ROLE_SYSTEM_ROWHEADER;
597 case WebAccessibility::ROLE_SLIDER:
569 return ROLE_SYSTEM_SLIDER; 598 return ROLE_SYSTEM_SLIDER;
570 case WebAccessibility::ROLE_PAGETABLIST : 599 case WebAccessibility::ROLE_STATICTEXT:
571 return ROLE_SYSTEM_PAGETABLIST; 600 return ROLE_SYSTEM_STATICTEXT;
572 case WebAccessibility::ROLE_TEXT : 601 case WebAccessibility::ROLE_TABLE:
602 return ROLE_SYSTEM_TABLE;
603 case WebAccessibility::ROLE_TEXT:
573 return ROLE_SYSTEM_TEXT; 604 return ROLE_SYSTEM_TEXT;
574 case WebAccessibility::ROLE_STATICTEXT : 605 case WebAccessibility::ROLE_CLIENT:
575 return ROLE_SYSTEM_STATICTEXT;
576 case WebAccessibility::ROLE_OUTLINE :
577 return ROLE_SYSTEM_OUTLINE;
578 case WebAccessibility::ROLE_COLUMN :
579 return ROLE_SYSTEM_COLUMN;
580 case WebAccessibility::ROLE_ROW :
581 return ROLE_SYSTEM_ROW;
582 case WebAccessibility::ROLE_GROUPING :
583 return ROLE_SYSTEM_GROUPING;
584 case WebAccessibility::ROLE_LIST :
585 return ROLE_SYSTEM_LIST;
586 case WebAccessibility::ROLE_TABLE :
587 return ROLE_SYSTEM_TABLE;
588 case WebAccessibility::ROLE_LINK :
589 return ROLE_SYSTEM_LINK;
590 case WebAccessibility::ROLE_GRAPHIC :
591 return ROLE_SYSTEM_GRAPHIC;
592 case WebAccessibility::ROLE_CLIENT :
593 default: 606 default:
594 // This is the default role for MSAA. 607 // This is the default role for MSAA.
595 return ROLE_SYSTEM_CLIENT; 608 return ROLE_SYSTEM_CLIENT;
596 } 609 }
597 } 610 }
598 611
599 long BrowserAccessibility::MSAAState(long browser_accessibility_state) { 612 long BrowserAccessibility::MSAAState(long browser_accessibility_state) {
600 long state = 0; 613 long state = 0;
601 614
602 if ((browser_accessibility_state >> WebAccessibility::STATE_LINKED) & 1) 615 if ((browser_accessibility_state >> WebAccessibility::STATE_CHECKED) & 1)
603 state |= STATE_SYSTEM_LINKED; 616 state |= STATE_SYSTEM_CHECKED;
617
618 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSABLE) & 1)
619 state |= STATE_SYSTEM_FOCUSABLE;
620
621 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSED) & 1)
622 state |= STATE_SYSTEM_FOCUSED;
604 623
605 if ((browser_accessibility_state >> WebAccessibility::STATE_HOTTRACKED) & 1) 624 if ((browser_accessibility_state >> WebAccessibility::STATE_HOTTRACKED) & 1)
606 state |= STATE_SYSTEM_HOTTRACKED; 625 state |= STATE_SYSTEM_HOTTRACKED;
607 626
608 if ((browser_accessibility_state >> WebAccessibility::STATE_UNAVAILABLE) & 1) 627 if ((browser_accessibility_state >>
609 state |= STATE_SYSTEM_UNAVAILABLE; 628 WebAccessibility::STATE_INDETERMINATE) & 1) {
629 state |= STATE_SYSTEM_INDETERMINATE;
630 }
610 631
611 if ((browser_accessibility_state >> WebAccessibility::STATE_READONLY) & 1) 632 if ((browser_accessibility_state >> WebAccessibility::STATE_LINKED) & 1)
612 state |= STATE_SYSTEM_READONLY; 633 state |= STATE_SYSTEM_LINKED;
613
614 if ((browser_accessibility_state >> WebAccessibility::STATE_OFFSCREEN) & 1)
615 state |= STATE_SYSTEM_OFFSCREEN;
616 634
617 if ((browser_accessibility_state >> 635 if ((browser_accessibility_state >>
618 WebAccessibility::STATE_MULTISELECTABLE) & 1) { 636 WebAccessibility::STATE_MULTISELECTABLE) & 1) {
619 state |= STATE_SYSTEM_MULTISELECTABLE; 637 state |= STATE_SYSTEM_MULTISELECTABLE;
620 } 638 }
621 639
622 if ((browser_accessibility_state >> WebAccessibility::STATE_PROTECTED) & 1) 640 if ((browser_accessibility_state >> WebAccessibility::STATE_OFFSCREEN) & 1)
623 state |= STATE_SYSTEM_PROTECTED; 641 state |= STATE_SYSTEM_OFFSCREEN;
624
625 if ((browser_accessibility_state >>
626 WebAccessibility::STATE_INDETERMINATE) & 1) {
627 state |= STATE_SYSTEM_INDETERMINATE;
628 }
629
630 if ((browser_accessibility_state >> WebAccessibility::STATE_CHECKED) & 1)
631 state |= STATE_SYSTEM_CHECKED;
632 642
633 if ((browser_accessibility_state >> WebAccessibility::STATE_PRESSED) & 1) 643 if ((browser_accessibility_state >> WebAccessibility::STATE_PRESSED) & 1)
634 state |= STATE_SYSTEM_PRESSED; 644 state |= STATE_SYSTEM_PRESSED;
635 645
636 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSED) & 1) 646 if ((browser_accessibility_state >> WebAccessibility::STATE_PROTECTED) & 1)
637 state |= STATE_SYSTEM_FOCUSED; 647 state |= STATE_SYSTEM_PROTECTED;
648
649 if ((browser_accessibility_state >> WebAccessibility::STATE_READONLY) & 1)
650 state |= STATE_SYSTEM_READONLY;
638 651
639 if ((browser_accessibility_state >> WebAccessibility::STATE_TRAVERSED) & 1) 652 if ((browser_accessibility_state >> WebAccessibility::STATE_TRAVERSED) & 1)
640 state |= STATE_SYSTEM_TRAVERSED; 653 state |= STATE_SYSTEM_TRAVERSED;
641 654
642 if ((browser_accessibility_state >> WebAccessibility::STATE_FOCUSABLE) & 1) 655 if ((browser_accessibility_state >> WebAccessibility::STATE_UNAVAILABLE) & 1)
643 state |= STATE_SYSTEM_FOCUSABLE; 656 state |= STATE_SYSTEM_UNAVAILABLE;
644 657
645 return state; 658 return state;
646 } 659 }
OLDNEW
« no previous file with comments | « no previous file | webkit/glue/glue_accessibility_object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698