Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master to beta #16743

Merged
merged 103 commits into from
Jun 26, 2024
Merged

Merge master to beta #16743

merged 103 commits into from
Jun 26, 2024

Conversation

seanbudd
Copy link
Member

No description provided.

seanbudd and others added 30 commits May 7, 2024 15:15
Start the dev cycle for the 2024.3 release.
This won't be a compatibility breaking release.
Revert PRs are janitorial actions which do not make sense to follow the PR template.
Typically these are made adhoc using the GitHub UX.
When performing a revert, it is important to note issues being opened and closed by the reversion.
It is also vital to note the PR being reverted.
Adding a short reason for reversion will help people understand a summary of what is going on.

Description of user facing changes
None

Description of development approach
Created a new template to be copy-pasted when performing a revert
fixes #16456

Summary of the issue:
In braille.BrailleHandler._handlePendingUpdate and braille.BrailleHandler._doNewObject functions scrollTocursororSelection function is called. scrollToCursorOrSelection calls scrollTo which in turns calls braille.BrailleHandler.update. Both _handlePendingUpdate and _doNewObject call braille.BrailleHandler.update after calling scrollToCursorOrSelection.

Description of user facing changes
There should be less "Braille window dots" log lines when log level is debug. Maybe some minor effect on performance.

Description of development approach
Minor modifications of _handlePendingUpdate and _doNewObject functions.
The current development documentation on creating self-signed builds of NVDA instructs users to save their PFX file to their NVDA repository root. As this directory is under version control, Git will then recognise the PFX file as a candidate for versioning. However, signing certificates should not be committed to VC.

Description of user facing changes
Git will now ignore PFX files in this repository. There are no end-user facing changes.

Description of development approach
Added *.pfx to .gitignore.
…es (#16480)

Microsoft is about to introduce Visual Studio 2022 version 17.10 in the near future. They decided to change the minor toolset version number, so we're going from MSVC 14.39 to 14.40.
See this blog post for details.
Note that they'll stick with version 143 in the crt version string, which is very weird.

Description of user facing changes
Building NVDA on visual studio 2022 version 17.10 (to be released) will work correctly.

Description of development approach
Rather than expecting all toolset directories to start with 14.3, we expect them to start with the major version part only (i.e. 14).
Fixes #10960

Summary of the issue:
There are cases where moving one character on a textInfo instance actually moves more than one unicode point offset. This is described by @mltony in the doc string for textInfos.TextInfo.moveToCodepointOffset.
This causes of by one errors when cursor routing, since we're asking the textInfo to move by 1 characters, that might be presented by two or even more characters within the liblouis mapping.

Description of user facing changes
Cursor routing should be more reliable.

Description of development approach
@mltony's creation of moveToCodepointOffset allows us to move x code points from the start of the reading unit. As we're using 32 bit for liblouis, every character as presented by liblouis is equal to one code point. Therefore we can safely assume that this method to move is much more reliable than the previous method.
Fixes #3304.
Fixes #9863.
Supersedes PR #9864, #10172.
Addresses #505 (comment)

Summary of the issue:
In NVDA, there is no easy and reliable way for an add-on to provide a new braille table. For an experienced users wishing to do so there are two options:

Alter manually an existing table in louis/tables.
The new table still has its original name in the settings GUI.
This change is lost upon NVDA updates.

Set the absolute path to the table file in the configuration in lieu of the usual file name.
The settings GUI shows an empty entry for this one.
Forces to manually alter nvda.ini.
Forces to copy in the same directory the whole dependency chain of the new table plus braille-patterns.cti. This is because liblouis default table resolver only looks for tables in a single directory, See Make it easier for add-ons to supply custom braille tables #5489 (comment)

Description of how this pull request fixes the issue:
Add a new brailleTables optional directory in both the user scratchpad directory and the add-on directory structure.

Support reading tables metadata from an optional brailleTables section of the add-on manifest or from a manifest.ini file with the same format found in the root of the scratchpad directory, allowing a user to provide a display name and set output/input/contracted capabilities with no code.

Implement a custom liblouis table resolver that resolves tables based on what is registered in the brailleTables module:

When liblouis calls the resolver without a base file specified, the table is looked up from the brailleTables module and either resolved from the add-ons brailleTables directory or the built-in tables directory
When liblouis calls the resolver with a base file specified (e.g. when processing includes in tables), the table is looked up from the folder of the base table and/or the built-in tables directory
Enforce the existing fallback mechanism to ensure there still is braille output if the configured table cannot be found e.g. because an add-on or the scratchpad directory was disabled. This now applies both to the main configuration and individual profiles and also covers braille input.

Note that if an add-on author wants a table to be listed in the GUI, he/she should always define the table in the manifest. Contrary to earlier incarnations of this pr, replacing a table in an add-on (i.e. when it has the same filename as a built-in table) without defining it in the manifest is no longer possible. Therefore it is also not possible to replace unlisted tables that are included by listed tables. For example, if you want to replace spaces.uti as included in nl-comp8.utb, you weel need to both define and bundle a replacement of nl-comp8.utb and spaces.uti in your add-on.
CyrilleB79
Collaborator
CyrilleB79 commented on Mar 19 • 
Link to issue number:
None

Summary of the issue:
Errors in the source code are indicated visually by "^" characters and has become more precise with Python 3.11.
However, the characters used in log viewer or python console have not a fixed width so:

visually, the wrong place of the source code is indicated
for blind people, going on the error marker ("^" characters) and pressing upArrow to jump at the same column position in the source code's line is useless because the cursor does not land in the same column.
Description of user facing changes
Use a fixed width font in the log viewer and in the Python console.
In the Python console, only the output field is impacted by vertical alignment considerations; however, for visual consistency I have modified both the input and the output fields.

Description of development approach
Change the log viewer's font to 'Consolas' which has fixed width and which is the one used in Notepad.
Fixes #14874

Summary of the issue:
NVDA reports the word "caption" before every element in a figcaption element, or before each line in same when navigating by line in browse mode.

Description of user facing changes
NVDA now reports "caption" only when first entering a figure caption, and "out of caption" when leaving it.

Description of development approach
Changed textInfos.ControlField.getPresentationCategory to return PRESCAT_CONTAINER when its role is controlTypes.Role.CAPTION .
…e children (#16471)

Fixes #14514

Summary of the issue:
HTML figure elements with no accessible children (EG, all children set to aria-hidden=true) but with an aria-label or aria-description are not reported by NVDA.

Description of user facing changes
Elements with no accessible children but which have a label or description are now reported in browse mode. Note this only applies to elements which are still rendered; if all children are set to display: none, for example, NVDA still does not report the parent element.

Description of development approach
Render a single space in elements with no content but a label or description se
Closes #8318

Summary of the issue:
Currently, NVDA does not read error messages referenced with aria-errormessage and aria-invalid (or platform native invalid).

Description of user facing changes
Error messages referenced by aria-errormessage are reported in speech and Braille on nodes marked as invalid.

Description of development approach
NVDAObjects have a new property, errorMessage, which is retrieved via the error IA2 relation. For virtual buffers, this is done in the virtual buffer backend and stored in the virtual buffer node. For focus mode, this is done at call-time.
closes #16416

Summary of the issue:
On Windows 11, some controls are above the Dbeaver autocomplete suggestions dialog, causing the check to see if is an autocomplete list item to fail.

Description of user facing changes
NVDA will speak the Dbeaver autocomplete list items on Windows 11 again.

Description of development approach
The solution was to improve this check to use the simple object navigation mode to ignore unwanted objects from the check and add the check for the start menu that is a Toggle Button on Windows 11.
…illeHandler.update executions #16501

fixes #16463

Summary of the issue:
Fix for issue of #16463
where braille message was not dismissed.

Description of user facing changes
Braille message should be dismissed when moving cursor.

Description of development approach
if buffer is message buffer BrailleHandler._dismissMessage is executed before BrailleHandler.scrollToCursorOrSelection.
* soffice: Report keyboard-triggered formatting toggles in Writer

 ### Link to issue number:

Fixes #4248

 ### Summary of the issue:

When toggling text formatting in LibreOffice Writer using
keyboard shortcuts (eg. Ctrl+B for toggling bold when using
English UI), NVDA was not reporting whether bold was enabled
or not.

 ### Description of user facing changes

In LibreOffice Writer (version 24.8 and newer), when toggling text
formatting (bold, italic, underline, subscript/superscript, alignment)
using the corresponding keyboard shortcut, NVDA announces
the new formatting attribute (e.g. "Bold on", "Bold off"),
similar to how it does for Microsoft Word.

 ### Description of development approach

In the SymphonyDocument class,
register gestures for keyboard shortcuts that
can be used to toggle formatting in LibreOffice Writer.

Add a method to handle the gestures, which is the same
for all attributes and enables processing of state
change events on toolbar buttons until a timeout
(of currently 0.15 seconds) is reached.
During that time, when a state change event for
a toolbar button is received from LibreOffice,
the name of the button and its new state (on/off)
are announced.

This also requires a corresponding change in LibreOffice [1]
so that the state change events for toolbar buttons
are actually sent, contained in LibreOffice >= 24.8:

    commit 0425b6eb47830b1fe630dc0128d5049f4b3e5582
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Apr 16 19:02:30 2024 +0200

        tdf#160695 wina11y: Send status change events for toolbar buttons

Note: An alternative approach querying the text attributes
from the IAccessibleText interface instead of the button
state would run into the problem that it works reliably when
text is selected, but has no clear way to figure out whether
or not bold is enabled or not when there's no selection.
(The text attributes need to be queried for a given index, but
when the text cursor is e.g. in front of the first character of
non-bold text, Ctrl+B would enable bold for newly typed text, but
querying the text attributes at index 0 of the existing text
would still not report bold, resulting in issues like
as observed and described in issue #16412 for MS Word.)

[1] https://git.libreoffice.org/core/commit/0425b6eb47830b1fe630dc0128d5049f4b3e5582

 ### Testing strategy:

1. start NVDA
2. start LibreOffice Writer (current development version, e.g. an
   upcoming daily build available from [2]).
3. Press Ctrl+B to enable Bold
4. Verify that NVDA announces "Bold on"
5. Press Ctrl+B again to disable bold formatting
6. Verify that NVDA announces "Bold off"
7. Type "hello world"
8. repeat steps 3-6
9. move text cursor to the beginning of the text
10. repeat steps 3-6
11. select the text
12. repeat steps 3-6
13. repeat steps 1-12 for other formatting attributes
    (Ctrl+I for italic, Ctrl+U for underline,...)

[2] https://dev-builds.libreoffice.org/daily/master/current.html

 ### Known issues with pull request:

None

 ### Code Review Checklist:

- [x] Documentation:
  - Change log entry
  - User Documentation
  - Developer / Technical Documentation
  - Context sensitive help for GUI changes
- [x] Testing:
  - Unit tests
  - System (end to end) tests
  - Manual testing
- [x] UX of all users considered:
  - Speech
  - Braille
  - Low Vision
  - Different web browsers
  - Localization in other languages / culture than English
- [x] API is compatible with existing add-ons.
- [x] Security precautions taken.

* Follow-up: Use @script decorator

As suggested in review:
#16413 (comment)

* Follow-up: Address review comments

s. #16413 (review)

* Follow-up: Use function docstring instead of comments

s. #16413 (review)

Co-authored-by: Cyrille Bougot <cyrille.bougot2@laposte.net>

* Follow-up: Use Sphinx syntax for reference

s. #16413 (comment)

---------

Co-authored-by: Cyrille Bougot <cyrille.bougot2@laposte.net>
Co-authored-by: Sean Budd <sean@nvaccess.org>
…crosoft Excel (#16473)

Fixes #15843

Summary of the issue:
When editing a cell in Microsoft Excel with inline cell editing enabled, NvDA does not announce text selection changes.
This is because in order to support inline cell editing, NvDA needs to redirect focus to the real cell edit control - Excel fires MSAA focus on a broken control. However, caret events do not know that focus was redirected and only go to the last queued focus object, which is still the broken control.
Note that this already works when NVDA uses UIA to access MS Excel (as the UIA control is not broken).

Description of user facing changes
NVDA announces selection changes in the inline cel edit control in Microsoft Excel.

Description of development approach
Rather than redirecting focus events to an obj's focusRedirect property in executeEvent, do it earlier in queueEvent, so that lastQueuedFocusObject is the possibbly redirected focus and therefore other code paths in NVDA check against what the focus actually ends up being.
Summary of the issue:
there is no information on "triage" permissions for the NVDA repository, i.e. how to get them and the responsibilities involved

Description of user facing changes
added information to the triage process
Fixup of #16477

Summary of the issue:
When writing #16477, I hadn't realized that TextInfoRegion compensated for characters that aren't part of the text info. This mapping is stored in the _rawToContentPos attribute. This compensation is necessary for character movement based routing, but not for code point offset based routing. The following would happen without this pr.

In Word, write a list item, e.g. 1. Hello
Route to the fourth cell (offset 3)
The third raw position (h) would correspond with content position zero (1)
With moveToCodepointOffset, moving to offset 0 means moving to 1 not to h. Basically, the cursor would end up at the first cell, not at the fourth.
Description of user facing changes
Routing works again in Word list items.

Description of development approach
When using moveToCodepointOffset, move to the raw position, not to the actual content position. moveToCodepointOffset expects raw positions, not content positions.
Don't use moveToCodepointOffset when the content position is 0, since we can simply collapse the textInfo at the start of the reading unit and return that. Note that moveToCodepointOffset would fail for everything up to offset 3 anyway, since it wouldn't be able to move.
Fixes #13648

Summary of the issue:
The Welcome Screen and User Guide used different terms, "main Insert" and "Extended Insert" respectively, to refer to the same key.

Description of user facing changes
Both the Welcome Screen and User Guide now call Extended/main Insert by simply "Insert."

Description of development approach
Modified wording in userGuide and startupDialogs files, as well as the startup system test that checks the Welcome Screen text.
The CLDR team has been released the 45.0 version of CLDR.

Description of user facing changes
Maybe none or some symbols may have been changed.
NVDA cannot be uninstalled correctly by directly running "%ProgramFiles(x86)%\NVDA\uninstall.exe". You must run it as an administrator to uninstall it correctly.

Description of user facing changes
You can directly run "%ProgramFiles(x86)%\NVDA\uninstall.exe" to uninstall NVDA

Description of development approach
Change RequestExecutionLevel to admin
Follow up to #16027
Fixes #15850

Summary of the issue:
Diff Match Patch proxy crashes and the calling thread deadlocks

Description of user facing changes
Diff Match Patch proxy will become more stable

Description of development approach
Refactored DiffMatchPatch diff handler.

Now, when reading from stdout of a proxy process, if not enough bytes are read, the return code is checked.

If a return code was received, an exception is raised and a fallback to difflib occurs.
nvda_dmp has received updates for better handling of large diffs, unicode characters, etc.

Description of how this pull request fixes the issue:
Updates nvda_dmp (and its backing diff-match-patch implementation) to the latest versi
Fixes #16512
Fixup of #16293

Summary of the issue:
Links to the document for building NVDA on appveyor had a typo
add reference to priorities for devs
Reverts #16463 and #16501

Issues fixed
Issues reopened
Reopens #16456

Reason for revert
complexity

Can this PR be reimplemented? If so, what is required for the next attempt
at least execution of scrollToCursorOrSelection in _doNewObject
The monkeypatch for wx.CallAfter didn't indicate wrapping.

>>> import wx
>>> help(wx.CallAfter)
Help on function wx_CallAfter_wrapper in module monkeyPatches.wxMonkeyPatches:

wx_CallAfter_wrapper(func, *args, **kwargs)
Description of user facing changes
None

Description of development approach
Imported wraps from functools, and added @wraps to the wrapper.
From a build after the modification:

>>> import wx
>>> help(wx.CallAfter)
Help on function CallAfter in module wx.core:

CallAfter(callableObj, *args, **kw)
    Call the specified function after the current and pending event
    handlers have been completed.  This is also good for making GUI
    method calls from non-GUI threads.  Any extra positional or
    keyword args are passed on to the callable when it is called.
Also converted the apply() function's comment into a docstring.
#16483 (comment)

Summary of the issue:
The current nvda_dmp is out of date.

Description of how this pull request fixes the issue:
Update nvda_dmp to latest commit.
Closes #16432

Summary of the issue:
NVDA does not log its own app architecture at startup.

Description of user facing changes
NVDA's app architecture will be logged as part of the log at startup.

Description of development approach
At startup, log os.environ["PROCESSOR_ARCHITECTURE"], useful if running NVDA on 64-bit systems and to prepare for #16304 work.
…perience window receives focus when clipboard history window closes (#16534)

Closes #16347

Summary of the issue:
In Windows 11, Windows Input Experience window receives focus when clipboard history closes.

Description of user facing changes
NVDA will no longer appear to get stuck when closing Windows 11 clipboard history.

Description of development approach
In emoji panel app module, added again focus event handler that will check if Windows Input Experience window receives focus in Windows 11, and if yes and if no events are pending, will queue gain focus on system focus control (obj.objectWithFocus()).

Testing strategy:
Manual testing: in Windows 11, open clipboard history, then press Escape to close it.

Known issues with pull request:
seanbudd and others added 22 commits June 12, 2024 11:37
Closes #15035

Summary of the issue:
Users would like a push notification on NVDA start-up letting them know if add-ons have available updates

Description of user facing changes
When starting NVDA, a dialog will appear notifying users of updatable add-ons if there are available updates.
This will only notify users if the available update is in the same channel as the installed add-on.
There is an "update all" button on the dialog and a list of add-ons with updates available.
There is also an "Open Add-on Store" button to open the add-on store to the updatable add-ons tab.

A setting to disable this. This is a combobox so that in future users can decide between:

notify on updates (default)
automatic update (See Ability to automatically update add-ons #3208)
disabled
Description of development approach
Created a scheduling module to schedule tasks on NVDA start up, using the schedule pip module.
This is so we can have conflict free scheduling. e.g. so NVDA's update notification won't clash with the add-on update notification.
Uses their suggested code to run a background thread for task scheduling: schedule.readthedocs.io/en/stable/background-execution.html

Changed much of the Add-on Store downloading code to be classmethods. This allows us to use it from the message dialog without creating a store instance.
Closes #16135

New Features

Enhanced Chrome command-line arguments to improve testing efficiency and stability .
Tests

Re-enabled several test cases related to ARIA role descriptions and navigation in Chrome, improving test coverage.
Summary of the issue:
Liblouis 3.30.0 has been released, adding many new Braille tables.

Description of how this pull request fixes the issue:
Update Liblouis and add new tables.
Chrome tests textParagraphNavigation and styleNav are failing.

Description of user facing changes
N/A

Description of development approach
Minor changes to make these two tests to pass.
On some websites QuickNav command jump to next menu doesn't work. For example in Jupyter:
jupyter.org/try-jupyter/notebooks/?path=notebooks/Intro.ipynb

Description of user facing changes
QuickNav next menu command now works with Jupyter.

Description of development approach
Added one more IA2 role to search for in next menu QuickNav command.
…6668)

Help Tech Activator Pro 80 and Activator Pro 64 are not supported.

Description of user facing changes
The two affected device types will be supported by NVDA and will also be autodetected.

Description of development approach
The driver was modified to include the new devices.
Fixes #16684

Summary of the issue:
In #16636 / d7facd1, config.ConfigManager.BASE_ONLY_SECTIONS underwent a mutation from a set to a frozenset.
Thhis modification hinders extensions from easily expanding this set.

There are perfectly legit scenarios where an extension’s settings should not be overridden by profiles. Take webAccess, for instance: accessolutions/WebAccessForNVDA@4251aae/addon/globalPlugins/webAccess/config.py
Discussion in nvda.groups.io/g/nvda/topic/clock_add_on_add_on_store/105313955?p=,,,100,0,0,0::recentpostdate/sticky,,,100,2,0,105313955,previd%3D1712173725527803825,nextid%3D1710680040743854194&previd=1712173725527803825&nextid=1710680040743854194

Summary of the issue:
The current incompatibility message for too old add-ons in the add-on store's details is as follows:

An updated version of this add-on is required. The minimum supported API version is now 2024.1. This add-on was last tested with 2023.1. You can enable this add-on at your own risk.

The concept of API is not clear for everyone and it is not explained in NVDA's GUI, nor in the User Guide. Thus, the logic of this sentence explaining why the add-on is not compatible is not easily understandable.

Description of user facing changes
Modify the incompatibility reason for too old add-ons as follows:

An updated version of this add-on is required. This add-on was last tested with 2023.1. The current version of NVDA requires that the extension be tested with NVDA 2024.1 or higher. You can enable this add-on at your own risk.
When using the CLI command nvda.exe --help, a dialog window opens with visual clipping for smaller screens.

Description of user facing changes
Make the dialog wider and more legible.

Description of development approach
Created a custom formatter to widen the default dialog for CLI help.
…non-empty directories (#16686)

Fixes #16443

Summary of the issue:
When creating a portable copy, NVDA overwrites the contents of the folder. This may delete files like dlls.
This caused #16514 to be reported, as this can be quite destructive and unexpected.

Typical behaviour for writing to a directory like this involves creating a new folder to write the contents to.
However, portable copies can also be upgraded, so it is important to be able to support writing to existing portable copy directories.

Description of user facing changes
When creating a portable copy, a new checkbox has been added to create a new folder for the portable copy, which is checked by default.
If this box is unchecked, a warning dialog will appear if the directory is non-empty.
The directory contains nvda.exe we assume its a portable copy directory, and confirm the user wishes to upgrade the portable copy.
The directory is otherwise non-empty, a general warning dialog is opened warning the user that the contents of the folder will be overwritten.
… for a pending caret event. (#16711)

Summary of the issue:
In Firefox's in-progress UIA implementation, moving with the cursor keys in editable text boxes sometimes reports the character at the old position of the caret instead of the new position of the caret. For example, on the line:
abcdef
with the cursor positioned on "a", pressing right arrow several times might read a, b, c instead of b, c, d.
I don't anticipate that NVDA will ever move to using UIA in Firefox. Nevertheless, this is an NVDA bug which might impact other things.

Description of user facing changes
When navigating with the cursor keys in text boxes in applications which use UI Automation, NVDA no longer sometimes reports the wrong character, word, etc.

Description of development approach
Previously, EditableText._hasCaretMoved fetched the caret before checking for a pending caret event. It then returned this fetched caret. The following race condition could occur:

In NVDA's main thread, NVDA queries the caret. The caret hasn't updated yet in the app, so this is the old position.
The app fires a caret event.
NVDA receives this caret event on a background UIA thread and queues it.
Back in NVDA's main thread, NVDA checks for a pending caret event. That check passes because of 3).
NVDA returns the old caret info retrieved in 1).
This can't happen with other APIs because they all queue events on the main thread, which can't be preempted during _hasCaretMoved. However, UIA queues events from a background thread.
Fixes #16218

Summary of the issue:
NVDA could silently crash when a Braille HID device was disconnected/closed.

Description of user facing changes
No more crashes under the above conditions.

Description of development approach
Introduced a flag that tracks if the close() method has already been called, and don't perform the operation again.
Closes #16266

Summary of the issue:
Right now NV access is unable to gauge monthly or weekly users, only daily users.
Each day NVDA performs an update check and optionally sends more usage data information.
We are unable to differentiate copies performing update checks, meaning we only know X users who checked for an update on a given day.

Description of user facing changes
None

Description of development approach
A unique ID is stored to user config when initializing the update check.
This creates a unique ID per user of NVDA, counting portable copies and each Windows user's profile of an installation.

When checking for update, NVDA now sends the unique ID if usage tracking is enabled.
… WebView2 interface (#16717)

Closes #16705

Summary of the issue:
Apps hosting Edge WebView2 show up as websites. However, in apps such as new Outlook (olk.exe), it is desirable to disable browse mode by default or offer custom commands and workarounds.

Description of user facing changes
NVDA will recognize and work with app modules for apps hosting Edge WebView2 controls such as new Outlook.

Description of development approach
Similar to wwahost and javaw, a new host app module (msedgewebview2) is created to fetch actual names of aps hosting the webview controls. The module borrows heavily from javaw app module except it is limited to fetching parent process information. Instead of importing appModuleHandler.AppModule, module-level getattr is defined to return the default app module.
…ng the value directly from the UI element. (#16672)

Fixes #16573

Summary of the issue:
When pasting into the calculator, both speech and braille reported a truncated result (for example 1 instead of 12.34)

Description of user facing changes
When pasting into the Windows 10/11 calculator, the correct number is announced.

Description of development approach
While handling UIA notification events, NVDA may announce screen changes not caused by number entry or results commands, and this is what is being handled (pasting from clipboard, for example).
NVDA will traverse through result element's children, looking for the actual result.
NVDA will announce the element's content once actual result element is identified.
Closes #16495

Summary of the issue:
updates espeak for 2024.3

Description of user facing changes
adds Karakalpak language in eSpeak

Description of development approach
Followed steps in eSpeak readme
…onnection error (#16340)

Add com port in Hims Braille Display and fix Serial Connection error

Description of user facing changes
Users can always perform serial connections normally.
User can choose com port in Braille Display Selection Dialog(Hims).
Description of development approach
In the HimsDisplayDriver, due to a chip issue, there were instances where packet data was intermittently split arbitrarily during the serial connection verification process, necessitating modifications to the _onReceive function.
)

Follow up to #16724

Summary of the issue:
markdown 3.5.1 to 3.6
Updating python markdown to get the latest security updates
modifications

Description of user facing changes
none

Description of development approach
Updated markdown and nh3 versions of requirements.txt file
Previously, markdown files were built as an intermittent step between converting text2tags content to HTML.
During this period, it was useful for builds to upload their markdown files as AppVeyor artifacts in the builds system.
We have now removed the t2t content in favour of a markdown source of truth, meaning that the artifact uploaded should be the same as the contents in the PR.

Description of user facing changes
Remove userGuide and changes markdown files from build artifacts

Description of development approach
Remove userGuide and changes markdown files from build artifacts

Also removed other deprecated code and updated remaining references to t2t
@seanbudd seanbudd requested review from a team as code owners June 26, 2024 03:22
@seanbudd seanbudd requested review from Qchristensen and SaschaCowley and removed request for a team June 26, 2024 03:22
…#16248)

Fixed #16246

Summary of the issue:
Most controls in Visual Studio Code do not support text review commands.

The most typical example is when the user wants to review the control name character by character, such as the file name in the file tree and the setting items on the settings page. Based on current experience, this is not easy to achieve.

Description of user facing changes
Users will be able to review control name in Visual Studio Code by NVDA’s text review commands.

Description of development approach
In the application module for Visual Studio Code, a modification has been made within the event_NVDAObject_init method to enhance the handling of objects.
Specifically, for objects whose role is not EDITABLETEXT , the TextInfo property is now explicitly set to NVDAObjectTextInfo.
@seanbudd seanbudd merged commit ff7f737 into beta Jun 26, 2024
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.