Skip to content

Commit 1f55146

Browse files
authored
Merge 32691bd into ba9215c
2 parents ba9215c + 32691bd commit 1f55146

5 files changed

Lines changed: 44 additions & 0 deletions

File tree

source/UIAHandler/browseMode.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,9 @@ def _iterNodesByType(self,nodeType,direction="next",pos=None):
486486
)
487487
])
488488
return UIAControlQuicknavIterator(nodeType, self, pos, condition, direction)
489+
elif nodeType == "tab":
490+
condition = UIAHandler.handler.clientObject.createPropertyCondition(UIAHandler.UIA_ControlTypePropertyId, UIAHandler.UIA_TabItemControlTypeId)
491+
return UIAControlQuicknavIterator(nodeType, self, pos, condition, direction)
489492
elif nodeType=="nonTextContainer":
490493
condition=createUIAMultiPropertyCondition({UIAHandler.UIA_ControlTypePropertyId:UIAHandler.UIA_ListControlTypeId,UIAHandler.UIA_IsKeyboardFocusablePropertyId:True},{UIAHandler.UIA_ControlTypePropertyId:UIAHandler.UIA_ComboBoxControlTypeId})
491494
return UIAControlQuicknavIterator(nodeType,self,pos,condition,direction)

source/browseMode.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -920,6 +920,17 @@ def _get_disableAutoPassThrough(self):
920920
# Translators: Message presented when the browse mode element is not found.
921921
prevError=_("no previous grouping")
922922
)
923+
qn(
924+
"tab", key=None,
925+
# Translators: Input help message for a quick navigation command in browse mode.
926+
nextDoc=_("moves to the next tab"),
927+
# Translators: Message presented when the browse mode element is not found.
928+
nextError=_("no next tab"),
929+
# Translators: Input help message for a quick navigation command in browse mode.
930+
prevDoc=_("moves to the previous tab"),
931+
# Translators: Message presented when the browse mode element is not found.
932+
prevError=_("no previous tab")
933+
)
923934
del qn
924935

925936

source/virtualBuffers/MSHTML.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,12 @@ def _searchableAttribsForNodeType(self,nodeType):
401401
"name": [VBufStorage_findMatch_notEmpty]
402402
},
403403
]
404+
elif nodeType == "tab":
405+
attrs = [
406+
{
407+
"IAccessible::role": [oleacc.ROLE_SYSTEM_PAGETAB],
408+
},
409+
]
404410
elif nodeType == "embeddedObject":
405411
attrs = [
406412
{"IHTMLDOMNode::nodeName": ["OBJECT", "EMBED", "APPLET", "AUDIO", "VIDEO", "FIGURE"]},

source/virtualBuffers/gecko_ia2.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,10 @@ def _searchableAttribsForNodeType(self,nodeType):
543543
},
544544
{"IAccessible::role":[oleacc.ROLE_SYSTEM_APPLICATION,oleacc.ROLE_SYSTEM_DIALOG]},
545545
]
546+
elif nodeType == "tab":
547+
attrs = [
548+
{"IAccessible::role": [oleacc.ROLE_SYSTEM_PAGETAB]}
549+
]
546550
else:
547551
return None
548552
return attrs

user_docs/en/userGuide.t2t

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,26 @@ If you want to use these while still being able to use your cursor keys to read
814814
To toggle single letter navigation on and off for the current document, press NVDA+shift+space.
815815
%kc:endInclude
816816

817+
+++ Other navigation commands +++[OtherNavigationCommands]
818+
819+
In addition to the quick navigation commands listed above, NVDA has commands that have no default keys assigned.
820+
To use these commands, you first need to assign gestures to them using the [Input Gestures dialog #InputGestures].
821+
Here is a list of available commands
822+
- Article
823+
- Grouping
824+
- Tab
825+
-
826+
Keep in mind that there are two commands for each type of element, for moving forward in the document and backward in the document, and you must assign gestures to both commands in order to be able to quickly navigate in both directions.
827+
828+
For example, if you want to use the ``y`` / ``shift+y`` keys to quickly navigate through tabs, you would do the following
829+
830+
+ Open gestures dialog from browse mode.
831+
+ Find "moves to the next tab" item in the Browse mode section.
832+
+ Assign ``y`` key for found gesture.
833+
+ Find "moves to the previous tab" item.
834+
+ Assign ``shift+y`` for found gesture.
835+
+
836+
817837
++ The Elements List ++[ElementsList]
818838
The elements list provides access to a list of various types of elements in the document as appropriate for the application.
819839
For example, in web browsers, the elements list can list links, headings, form fields, buttons or landmarks.

0 commit comments

Comments
 (0)