forked from nvaccess/nvda
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Test #23
Merged
Merged
Test #23
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Beta to master
On my machine (set to 1080p), after a while, NVDA repeatedly says "lanscape". In the Python console, I get: >>> _displayTracking.getPrimaryDisplayOrientation() OrientationState(width=1920, height=1080, style=<Orientation.PORTRAIT: 1>) However, since 1920 is greater than 1080, getPrimaryDisplayOrientation().style should be Orientation.LANDSCAPE. Description of how this pull request fixes the issue: Declare parameter names in the call to _getOrientationStyle.
Fixes nvaccess#16487 Summary of the issue: currently the lang attribute for the developerGuide has the value "developerGuide": nvaccess.org/files/nvda/releases/2024.1/documentation/developerGuide.html This is because the parent folder name is used to determine the lang code, which is true for other docs. Description of user facing changes Fix lang code for the developer Guide Description of development approach Fix lang code for the developer Guide
…s#16571) Closes nvaccess#16559 Closes nvaccess#16558 Summary of the issue: Fancy QuickNav commands (style navigation, text navigation, vertical navigation) don't work correctly in Kindle desktop app. Description of user facing changes Fancy quickNav commands will be disabled in Kindle. Description of development approach Throwing a NotImplementedException.
…ccess#16569) Closes nvaccess#16459 Closes nvaccess#16408 Closes nvaccess#16458 Closes nvaccess#16405 Summary of the issue: We have discovered multiple problemds with non-UIA textInfo implementation in MS Word. Some examples are nvaccess#16527, nvaccess#16459, nvaccess#16458. Also TextInfo implenetation in Outlook has proven to be too slow for style navigation. Therefore disabling both. Description of user facing changes "Not supported in this document" message is spoken. Description of development approach Raising an error when Outlook or non-UIA Word is detected.
beta exchange
…ridge (nvaccess#16568) Fixes nvaccess#9376. Summary of the issue: In applications using Java Access Bridge, if the last line of a text is an empty line, then NVDA reads the previous line as the last line. Description of user facing changes NVDA will now correctly read the last empty line as "blank". Description of development approach The issue is related to fixes of nvaccess#1892 in 7ef99c3, which work around the line bounds returned by JAB for the last character of a text. Specifically, the current behavior is to get the line bounds of the previous character, which works well for single-line text inputs. But if the text is multi-line, and we're on the last empty line, then getting the line bounds of the previous character results in repeating the penultimate line. The fix is to separately handle the case of empty last line, which is determined by having "\n" as the previous character.
beta to master
Fixup of nvaccess#16425 Discussed here: groups.io/g/nvda-translations/message/3819 Summary of the issue: In 2023.2, the user guide heading numbering for the Arabic translation switched to using Western Arabic numbering. 2024.1 mistakenly switched this back to Eastern Arabic numbering. In nvaccess#16425, the headers in the table of contents were fixed for Western Arabic, but not in the body. Description of user facing changes Restore Western Arabic numbering style for headings in the body of the document Description of development approach Updated CSS to reflect Western Arabic numbering style i.e. .1.2.3, .1.2.4
Beta to master
NV Access is intending to move most of the wiki into the repository, so changes are tracked better and easier to propose. The documentation for translating NVDA is very dated, particularly since the update of the translation system. Description of user facing changes In order to start the process of updating and migrating the translating documentation, the first page was moved from the wiki: https://github.com/nvaccess/nvda/wiki/Translating The following changes were made to update the contents: the translation status links to Crowdin, which neatly tracks the status for the NVDA interface. Instructions for generating structured diffs to check the status of user docs will be linked when they are made. warnings are added to note that docs are out of date in general, until all referenced pages are updated links to the manual process are removed. The manual process was only ever documented for the interface, which has moved crowdin. References to this page will be removed. references to text2tags were updated to markdown, such as removing references to the no longer needed locale.t2tconf Additionally, some grammar and formatting fixes were made such as new lines Removed "Missing information" now that this in the repo, normal issues/PRs apply
…6550) closes nvaccess#16456 Summary of the issue: There are often two BrailleHandler.update executions which produce duplicate log entries when log level is debug. As an example, when navigating with up/down arrows in notepad debug level log shows this. There should not be good reason for two executions. Description of user facing changes Less duplicate "Braille window dots" log lines on debug level. This should facilitate debugging a little. Description of development approach removed updateDisplay call from BrailleBuffer.scrollTo
…ry (nvaccess#16583) updated-dependencies: - dependency-name: requests dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Closes nvaccess#16466 Summary of the issue: Several speech synthesizers and braille tables are unable to speak or braille some characters, such as ligatures ("ij") or decomposed characters (latin letters with a modifier to add acute, diaeresis, etc.). Also, italic or bold Unicode characters can't be spoken or brailled by default. Description of user facing changes None by default. If unicode normalization is enabled for speech, speech output for objects and text navigation is normalized. For braille, normalization is applied for all braille output. The reason for speech to apply normalization only for objects and text navigation is chosen on purpose, as for individual character navigation or text selection, we really want to pass the original character to the synthesizer. If we don't Unicode bold and italic characters are read as their normalized counterparts, which makes it impossible to distinguish them. This problem is less relevant when working with braille. Description of development approach Added UnicodeNormalizationOffsetConverter to textUtils with tests. It stores the normalized version of a given string and based on diffing, calculates offset mappings between the original and normalized strings. Processes output using UnicodeNormalizationOffsetConverter when translating braille with normalization on. The several mappings (braille to raw pos, raw to braille pos) are processed to account for normalization. Added normalization to getTextInfoSpeech and getPropertiesSpeech.
…16586) This reverts commit ed5ede9. Reverts nvaccess#16505 Issues fixed None Issues reopened None Reason for revert The approach in nvaccess#16505 appears incorrect. Admin level is requested when generating the uninstaller, not when running it. It is also dubious if the original issue is valid. Can this PR be reimplemented? If so, what is required for the next attempt An issue should be filed first and investigated
…cess#16587) Summary of the issue: setuptools has been updated, breaking support with py2exe: py2exe/py2exe#208. When installing packages, pip automatically pulls in the latest build dependences as specified in PEP 518. pip creates a custom temporary build environment to install packages using the latest pip environment. Description of development approach Create a pyproject.toml to specify the build environment we are using. packaging.python.org/en/latest/guides/writing-pyproject-toml Use the flag no-build-isolation when installing requirements.txt. This prevent pip from using the custom build environment and automatically pulling the latest setuptools when installing packages. As such, we need to manually install the desired version of setuptools, and manually install pip's dependency wheel. stackoverflow.com/questions/62889093/what-does-no-build-isolation-do
beta to master
This reverts commit 68b7196.
…s#16551) Fixes nvaccess#14550 Summary of the issue: NVDA does not correctly announce checkbox or radio button menuitems when first entering submenues in Firefox or Chrome, as its announcement of the menuitem is disrupted by its announcement of the containing menu or grouping. Description of user facing changes Checkbox and radio button menuitems are correctly read in Chrome and Firefox. Description of development approach Updated FocusLossCancellableSpeechCommand.isMenuItemOfCurrentFocus to: Detect objects with role IA2_ROLE_CHECK_MENU_ITEM or IA2.IA2_ROLE_RADIO_MENU_ITEM as well as oleacc.ROLE_SYSTEM_MENUITEM; and Traverse up the old focus's ancestors to find the ancestor menu, instead of assuming that it will be its parent, to support grouped menuitems.
…vaccess#16585) Fixes nvaccess#16554 Summary of the issue: nvaccess#16471 introduced a regression whereby many blank lines were reported in browse mode. Description of user facing changes Extraneous blank lines are no longer reported in browse mode. Description of development approach Updated checks in gecko_ia2.cpp: Check that the length of name is non-zero (SysStringLen returns 0 if the BSTR passed is null) Added check that description's value is not the empty string, as checking that it has a value is necessary but not sufficient.
…irefox (nvaccess#16588) Fixes nvaccess#5183 Summary of the issue: In Firefox, tables labelled with aria-label or aria-labelledby (where the referenced element is not visible) do not have a virtual buffer node inserted with the accessible name of the table. Description of user facing changes Tables now have this node inserted in Firefox, as they already do in Chrome. Description of development approach Since Firefox returns the empty string if no description is given (rather than null as returned by Chrome), update gecko_ia2.cpp to check for the empty string as well as null.
…nvaccess#16589) Fixes nvaccess#16318 Summary of the issue: Recently the poedit appModule was rewritten to support poedit 3.4. However, scripts for reading translation nodes, comments and old source text did not function for languages that had no plurals (Chinese) or 2 or more plurals (Polish). It did however function for languages with exactly one plural (such as French). As the controlIDs for windows in poedit are not static, but do stay relative to each other, the appModule originally used offsets from the main dataView control. This worked okay for the translation warning, but did not work for controls in the sidebar in all cases, as it seems that there are extra controlIDs consumed for some hidden windows between the main splitter and the sidebar, depending on how many plurals a language has. E.g. In French, the controlID offset for the Sidebar (relative to the Dataview control) is 29. In Chinese it is 27, and in Plish it is 33. I think it might be roughly two offsets per plural. Description of user facing changes Poedit scripts such as Report translation notes (control+shift+a), Report comments (control+shift+c) and Report old source text (control+shift+o) now function no matter how many plurals a language has. Description of development approach Control ID offsets for controls in the sidebar (such as translation notes, old source text, and comments) are now relative to the sidebar itself, rather than the Dataview control. The sidebar window is located by first finding the main splitter window (using a controlID relative to the dataview control) and then finding the next visible sibling window from there. To aide in refactoring, support for controlID offsets in the Pro version are now handled by simply minusing 5 from the given controlID offset, as all the offsets in the pro version differed by 5. Testing strategy:
beta exchange
beta to master
Fixes nvaccess#16546 Summary of the issue: Style navigation is too slow in MSWord even with UIA enabled. Description of user facing changes Message "not supported in this document" is spoken when trying style navigation in MSWord. Description of development approach I did a bit of refactoring. Instead of trying to catch all the conditions in browseMode.BrowseModeDocumentTreeInterceptor, I overrode _iterTextStyle() method in corresponding child subclasses.
Related to nvaccess#16345. Summary of the issue: Multiple dots are reported as "padding dots" in situations where these dots have no padding function. "padding" is too restrictive and is also more difficult to understand; by the way, some translators have actually translated "padding dots" to "multiple dots" in their translations. Description of user facing changes Multiple dots (4 or more) will now be reported with the more neutral "multiple dots" instead of "padding dots" when the symbol level is high enough. Description of development approach Changed both the symbol name and what is reported in symbol file.
Beta to master
…evious character is a line feed. (nvaccess#16763) Fixup of nvaccess#16745. Summary of the issue: In my work on nvaccess#16745, I neglected to consider an empty line after a line feed. In that case, adjusting for the line end caused NVDA to read from the previous line instead of the empty one. Description of user facing changes In Firefox, NVDA no longer speaks the previous line when the caret is on the last line and the last line is empty. However, this does not need a change log entry because this bug never shipped in release. Description of development approach Don't set the _isInsertionPointAtEndOfLine flag to True if the previous character is a line feed. This prevents the line end adjustment. Because this additional check makes the code a little more complex, I refactored this code into a helper method.
Fixes nvaccess#16735 Summary of the issue: This adds Turkish grade 2 braille table to NVDA interface. Description of user facing changes Users will be able to use the table provided in NVDA Description of development approach Modified the brailleTables.py.
Fixes nvaccess#14817 Summary of the issue: Our linting system has the following issues: we are stuck on an old version of flake8, as the flake8tabs module is no longer being updated we can't perform automatic lint fixes Ruff is becoming more maintained than flake8 Description of user facing changes The entire repository is linted with Ruff, rather than diffs Developers can now automatically fix certain linting issues with runlint.bat If using pre-commit hooks, linting is automatically applied: pre-commit.com/#usage CodeRabbit now scans code using our Ruff config Description of development approach integrate Ruff, migrate flake8 config Update AppVeyor scripts to use ruff add pre commit hook support for ruff update linting docs
Lint the repository with Ruff This is a follow up for nvaccess#16751 Must be merge commit not squash merge Using nvaccess#16751, the following commands were applied: ruff check --fix to apply automatic fixes ruff check --add-noqa to add no-qa comments to all lint failures, so that issues that can't be automatically fixed don't trigger future failures
Start the dev cycle for the 2024.4 release. This won't be a compatibility breaking release.
2024.3 Final master to beta merge
…l10n Merge translations from svn
Merge beta to master
… doesn't support 2 channels. (nvaccess#16771) Fixes nvaccess#16770. Summary of the issue: WasapiWavePlayer.setVolume assumes that the audio device supports 2 channels. Some devices do not. This causes an exception when trying to set the second channel. Description of user facing changes Playing NVDA sounds no longer fails on a mono audio device. Description of development approach Catch E_INVALIDARG which is the documented error code for this situation. Alternatively, we could check the number of channels before trying to set, but I don't think there's any benefit to that approach and that would require more C++ code. I also removed _wasPlay_errcheck. That was never actually called and was unnecessary because raising an exception for a failure is already handled by setting .restype to HRESULT. Furthermore, _wasPlay_errcheck was raising WindowsError with the wrong parameters, so it wouldn't have been what we wanted even if it had worked.
beta to master
nvaccess#16753) NVDA is licensed with GPL2 which is incompatible with certain licenses like Apache. Currently there are 2 python dependencies bundled with NVDA with incompatible licenses: fast-diff-match-patch - see Reconsider fast_diff_match_path license violation workaround nvaccess#16633 requests Description of user facing changes Developers can now check licenses with runlicensecheck.bat AppVeyor checks that new dependencies with incompatible licenses aren't introduced Description of development approach Using the licensecheck pip dependency, check licenses Similar to lint checks, run these checks on appveyor builds
…ss#16718) Closes nvaccess#16656 Summary of the issue: NV Access is intending to move most of the wiki into the repository, so changes are tracked better and easier to propose. The documentation for translating NVDA is very dated, particularly since the update of the translation system. Description of user facing changes This wiki page was moved and updated in the project docs Translating the interface The following changes were made to update the contents: grammar and formatting fixes add reference to user guide commands for PoEdit remove section on translating using a text editor added information on: on using Crowdin and proofreader status plural forms pgettext (context/tags)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #21
Link to issue number:
Summary of the issue:
Description of user facing changes
Description of development approach
Testing strategy:
Known issues with pull request:
Code Review Checklist: