summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility/browser_accessibility_cocoa.h
Commit message (Collapse)AuthorAgeFilesLines
* Support list / listbox accessibility attributes on Mac.dmazzoni@chromium.org2014-07-011-0/+2
| | | | | | | | | | | | This change adds support for AXSelectedChildren, AXVisibleChildren, and AXOrientation for lists and list boxes. Those are sufficient for VoiceOver to read, e.g. (3 of 5) when navigating a list of 5 items. BUG=381971 Review URL: https://codereview.chromium.org/348183007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280906 0039d316-1c4b-4281-b951-d872f2087c98
* Add hack so VoiceOver speaks updates to injected live regions.dmazzoni@chromium.org2014-05-131-0/+3
| | | | | | | | | | See bug for repro html, requires manual testing. BUG=371102 Review URL: https://codereview.chromium.org/272573003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270104 0039d316-1c4b-4281-b951-d872f2087c98
* RWHI should implement BrowserAccessibilityDelegatedmazzoni@chromium.org2014-04-301-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | This is just refactoring, there should be no behavior changes. I realized that most of the functionality of BrowserAccessibilityDelegate was implemented by RenderWidgetHostImpl, but each RenderWidgetHostView* was actually implementing the interface, resulting in extra code. It's simpler to have RWHI implement it and just call into RWHV for the few cases where the view is involved. This also removes the parallel mac-only delegate, since it was duplicating most of the same functionality. Calling OriginInScreen is a couple of extra lines of code because it needs to convert from NSPoint & NSSize to gfx::Rect, but in every other case it's the same or simpler this way. BUG=none NOTRY=true Review URL: https://codereview.chromium.org/246773008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267097 0039d316-1c4b-4281-b951-d872f2087c98
* Return AXURL from NSAccessibilityURLAttribute.dmazzoni@chromium.org2014-04-161-1/+1
| | | | | | | | | | | We have to be careful, VoiceOver crashes if we return an empty string as a url, so now we only expose the attribute if there is a valid url. BUG=83173 Review URL: https://codereview.chromium.org/239503003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264181 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor content/ to use ui::AXNodeData instead of blink.dmazzoni@google.com2014-01-061-2/+1
| | | | | | | | | | | | This is a huge change, but it's all refactoring / renaming. There should be no new logic. BUG=316726 R=dtseng@chromium.org, jam@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/116293005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243187 0039d316-1c4b-4281-b951-d872f2087c98
* Rename WebKit namespace to blink (part 3)abarth@chromium.org2013-11-071-1/+1
| | | | | | | | | | | This CL updates all references to the WebKit namespace in content. TBR=darin@chromium.org BUG=295096 Review URL: https://codereview.chromium.org/63253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233513 0039d316-1c4b-4281-b951-d872f2087c98
* Use Blink accessibility enums in Chromiumdmazzoni@chromium.org2013-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | This is a refactoring-only change! Eliminates enums for accessibility roles, states, and notifications and uses equivalent enums from Blink instead. Saves several giant switch statements, saves a few characters per line, and makes future changes to roles and states simpler. Another benefit is that you can search for a role, state, or event and find all of the places where it's used throughout the code at once. Also renames WebAccessibilityObject -> WebAXObject and notification -> event in the context of accessibility. BUG=269034 Review URL: https://chromiumcodereview.appspot.com/23651003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221295 0039d316-1c4b-4281-b951-d872f2087c98
* mac: Update clients of scoped_nsobject.h.thakis@chromium.org2013-06-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1.) The header is now in base/mac instead of base/memory 2.) The class is now in namespace base. This CL was created programmatically by running: 1.) git grep -l memory/scoped_nsobject.h | xargs sed -i -e 's/memory\/scoped_nsobject.h/mac\/scoped_nsobject.h/g' for f in $(git diff --name-only origin); do tools/sort-headers.py $f -f; done git commit -a -m headers # manually undo changes to gypi file git cl upload # patch set 1 2.) git grep -l 'scoped_nsobject<' | xargs sed -i -e 's/scoped_nsobject</base::scoped_nsobject</g' # manually undo comment changes in scoped_nsobject.h, tracking_area.h git commit -a -m format git cl upload # patch set 2 # Manually audit all files, file bugs and clean up bad clang-format decisions git cl upload # patch set 3 BUG=251957 TBR=mark@chromium.org Review URL: https://codereview.chromium.org/17593006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208283 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash when system retains an accessibility object.dmazzoni@google.com2013-06-211-0/+5
| | | | | | | | | | | | | | | | | | | | | The system might retain instances to BrowserAccessibilityCocoa objects even after they're no longer used. Previously, we handled this by having BrowserAccessibilityCocoa own BrowserAccessibilityMac so that its underlying data would persist as long as the wrapper. However, this led to crashes when the system calls methods that explore the tree hierarchy, like GetLocalBoundsRect. The proper fix is that BrowserAccessibilityCocoa should detach from BrowserAccessibilityMac with the latter is deleted, and then do a NULL check in any NSAccessibility protocol implementation so that it won't crash when a deleted object is queried. BUG=242944 R=dtseng@chromium.org Review URL: https://codereview.chromium.org/17261008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207709 0039d316-1c4b-4281-b951-d872f2087c98
* Implement all missing table accessibility methods on Mac.dmazzoni@google.com2013-04-291-0/+9
| | | | | | | | | | | | | | | DumpAccessibilityTree tests capture index, rowspan, and colspan. Manual testing with VoiceOver confirms that: * VoiceOver will now focus a focusable control inside a table by default. * Moving between cells in a table reads out the headers too. BUG=173681,231802 R=aboxhall@chromium.org Review URL: https://codereview.chromium.org/13932035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197046 0039d316-1c4b-4281-b951-d872f2087c98
* Only add properties to the Mac platform accessibility tree printout if they ↵aboxhall@chromium.org2013-03-201-0/+3
| | | | | | | | | | are supported. BUG=222177 Review URL: https://chromiumcodereview.appspot.com/12706025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189287 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for more attributes to accessibility tests.dmazzoni@chromium.org2013-01-281-4/+20
| | | | | | | | | | | | | | | | | | | | | This doesn't affect any existing tests, it just adds support for many more attributes to both Mac and Windows DumpAccessibilityTree test infrastructure code. This will just make it easier to write future tests. Also cleans up the browser_accessibility_cocoa.h header file, it was missing some interfaces. Tested manually by adding @MAC-ALLOW=* and @WIN-ALLOW=* to the top of a test html file in content/test/data/accessibility. BUG=none TBR=dtseng Review URL: https://chromiumcodereview.appspot.com/12062003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179194 0039d316-1c4b-4281-b951-d872f2087c98
* Add 13 more accessibility tests and fix bugs encountered.dmazzoni@chromium.org2013-01-231-0/+5
| | | | | | | | | | | | | See bug for more info. Adds tests for 13 more html tags, aria roles, and aria attributes, and attempts to fix the code so that as many of those tests pass as possible. BUG=170574 Review URL: https://chromiumcodereview.appspot.com/11971032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178396 0039d316-1c4b-4281-b951-d872f2087c98
* - New tests for address, aria-autocomplete, aria-invalid, ARIA ↵aboxhall@chromium.org2013-01-151-0/+1
| | | | | | | | | | | | | | | menuitemradio, ARIA progressbar, ARIA toolbar, bdo, br, input type="button" (in a menu), input type="image" (in a menu), select (with NO multiple attribute) and wbr - Tweaks to dump_accessibility_tree_helper_win.cc to print out min and max values and use the public API to get the current value - Tweaks to dump_accessibility_tree_helper_mac.mm to print out the minimum and maximum values, valueDescription and invalid state - Tweaks to browser_accessibility_cocoa.{mm,h} to add an invalid() method - Fix a bug in accessibility_node_serializer.cc where minimum and maximum values were getting swapped. BUG=168805 Review URL: https://chromiumcodereview.appspot.com/11823026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176769 0039d316-1c4b-4281-b951-d872f2087c98
* Move content\accessibility code into the content namespace.jam@chromium.org2012-10-241-2/+2
| | | | | | Review URL: https://codereview.chromium.org/11274020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163897 0039d316-1c4b-4281-b951-d872f2087c98
* Remove #pragma once from contentajwong@chromium.org2012-07-111-2/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10696166 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146071 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a few lingering bugs in BrowserAccessibilityManager and ↵dtseng@chromium.org2011-08-051-3/+1
| | | | | | | | | | | | | | | | | | BrowserAccessibilityCocoa. - Actually reuse BrowserAccessibility's when we receive an AXLoadComplete notification (switch from using CreateAccessibilityTree to UpdateNode). - add a check in BrowserAccessibilityManager::SetFocus to ensure we never try and ref count the same element. This means we released an element (and thereby destroy it) before we add ref it again. As it stands, the code does not encounter this case, since there's an implicit assumption that the focus_ element has ref count >= 2. - add logic to BrowserAccessibilityCocoa so that it can inherit directly from NSObject; this brings us in line with the way Webkit's AccessibilityObjectWrapper on Mac works. This will hopefully set us up to solve the problem of VoiceOver not acknowledging page transitions. The remaining issue is that RWHV's get destroyed on page transitions, thereby destroying our BrowserAccessibilityManager. This is likely why VoiceOver won't honor our AXLoadComplete notification. BUG=none TEST=manual. Review URL: http://codereview.chromium.org/7461104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95572 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: Move browser accessibility code from chrome to content.dmazzoni@chromium.org2011-06-251-0/+76
| | | | | | | | | BUG=85932 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=90435 Review URL: http://codereview.chromium.org/7233022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90495 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 90435 - Re-land: Move browser accessibility code from chrome to content.brettw@chromium.org2011-06-241-76/+0
| | | | | | | | | | | | | | This caused a legitimate check deps failure er/accessibility/browser_accessibility_cocoa.mm depending on ui/base/l10n BUG=85932 TEST=none Review URL: http://codereview.chromium.org/7233022 TBR=dmazzoni@chromium.org Review URL: http://codereview.chromium.org/7235008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90438 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: Move browser accessibility code from chrome to content.dmazzoni@chromium.org2011-06-241-0/+76
| | | | | | | | BUG=85932 TEST=none Review URL: http://codereview.chromium.org/7233022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90435 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 90265 - Move browser accessibility code from chrome to content.dmazzoni@chromium.org2011-06-231-76/+0
| | | | | | | | | | | BUG=85932 TEST=none Review URL: http://codereview.chromium.org/7233022 TBR=dmazzoni@chromium.org Review URL: http://codereview.chromium.org/7247022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90279 0039d316-1c4b-4281-b951-d872f2087c98
* Move browser accessibility code from chrome to content.dmazzoni@chromium.org2011-06-231-0/+76
BUG=85932 TEST=none Review URL: http://codereview.chromium.org/7233022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90265 0039d316-1c4b-4281-b951-d872f2087c98