Skip to content

Convert the groupings with check boxes in document formatting settings to checkable lists#10448

Closed
LeonarddeR wants to merge 7 commits into
nvaccess:masterfrom
LeonarddeR:documentFormattingRestyle
Closed

Convert the groupings with check boxes in document formatting settings to checkable lists#10448
LeonarddeR wants to merge 7 commits into
nvaccess:masterfrom
LeonarddeR:documentFormattingRestyle

Conversation

@LeonarddeR

Copy link
Copy Markdown
Collaborator

Link to issue number:

Cloes #8699

Summary of the issue:

The document formatting panel now contains a whole lot of check boxes. These are pretty difficult to navigate when not using accelerators.

Description of how this pull request fixes the issue:

Converted the groupings into checkable lists, resulting into much compacter code.

Testing performed:

Tested checking and unchecking the boxes and saving the settings.

Known issues with pull request:

  • Scaling issues, see Checkable list checkmarks have scaling issues. #8635. I think it's up to @feerrenrut to decide whether this is a show stopper for now. We could also use AutoWidthColumnCheckListCtrl instead.
  • When tabbing through the lists, I"m getting duplicate focus announcement of the selected check box in the list.

Change log entry:

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

For anyone who reviews this, it might be easier to forget about the diff and just look at the makeSettings en onSave methods on DocumentFormattingPanel. The diff is very hard to read.

Comment thread source/gui/settingsDialogs.py Outdated
Co-Authored-By: CyrilleB79 <cyrille.bougot2@laposte.net>
@CyrilleB79

Copy link
Copy Markdown
Contributor

Hello

Some global comments on this PR:

I agree that the document formatting panel needs to be simplified and that tabbing through all its elements is long. However I have listed some existing downside in this PR and in the conversion of all options in checkbox list:

  1. In the old version of the document settings panel, it was very handy to hear the accelerator key when tabbing to items, e.g. to know that Alt+K could be typed to go directly to "Links" item next time. Now that all is grouped in lists, the individual items have no more accelerator and the accelerator key of the list it belongs to is not heard when tabbing into this list. E.g. "Alt+T" is not heard when tabbing to the "Table information" list.
  2. Splitting the combobox in 2 checkbox (for "Line indentation reporting" and "Cell borders") seems less clear to me.
  3. Following point 2, adding future options that would require more than 2 states would be less clear. The two future option I have already thought to (and needed at least one time) are:
  • Font attributes: allow to report only some of them but not all or None (with checkable list onlyy for this item or with a 3-option combobox None/All/Personalized and a button to open a dialog to select only some of them)
  • Row/column headers: allow to report None, Row, Column or Row+Column headers in tables (4-option combobox)

This list is here only to be discussed and again, I agree however that document formatting settings panel nees to be simplified.

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

Some global comments on this PR:

Thanks for these!

1. ... the accelerator key of the list it belongs to is not heard when tabbing into this list. E.g. "Alt+T" is not heard when tabbing to the "Table information" list.

This makes sense. I think we must be able to fix this.

2. Splitting the combobox in 2 checkbox (for "Line indentation reporting" and "Cell borders") seems less clear to me.

We could consider leaving these as combo boxes.

3. Following point 2, adding future options that would require more than 2 states would be less clear.

I guess we can still decide this on a case per case basis.

@DrSooom

DrSooom commented Nov 8, 2019

Copy link
Copy Markdown
  1. Splitting the combobox in 2 checkbox (for "Line indentation reporting" and "Cell borders") seems less clear to me.

We could consider leaving these as combo boxes.

Hmm, splitting "Line indentation reporting" into two checkboxes isn't really a problem. But "Cell borders" … I'm not sure here.

btw: "Font attributes" should get their own list with checkboxes for each attribute type (bold, italic, etc.). I'm not sure, if an issue for this feature request already exists, but it's in my head for many years, because it's useful for online shops (keyword: strikethrough price). Adding a new window for customization isn't user-friendly.

And the row/columns headlines can be split into two checkboxes. A combo box with four entries isn't really required here too – in my opinion.

@CyrilleB79

Copy link
Copy Markdown
Contributor

btw: "Font attributes" should get their own list with checkboxes for each attribute type (bold, italic, etc.). I'm not sure, if an issue for this feature request already exists, but it's in my head for many years, because it's useful for online shops (keyword: strikethrough price). Adding a new window for customization isn't user-friendly.

This point has to be discussed in a separate issue however. Tis PR aims only to convert to checkbox list where possible, keeping the feature of existing panel.
In my previous comment, I talk about this feature only to say that we should ensure that it will be possible to implement it with the new panel layout.

@DrSooom

DrSooom commented Nov 9, 2019

Copy link
Copy Markdown

@CyrilleB79: I know. 😉 Maybe we only have to extent issue #6438. See also: Issue #1885

@bdorer

bdorer commented Dec 2, 2019 via email

Copy link
Copy Markdown

@dpy013

This comment has been minimized.

@dpy013

This comment has been minimized.

@josephsl

This comment has been minimized.

@dpy013

This comment has been minimized.

@josephsl

This comment has been minimized.

@dpy013

This comment has been minimized.

@josephsl

This comment has been minimized.

@josephsl josephsl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me - created a private branch, merged in latest master, and reviewed the diff. Thanks.

@derekriemer

This comment has been minimized.

@josephsl

This comment has been minimized.

@CyrilleB79

Copy link
Copy Markdown
Contributor

See in #9355 another proposal of ternary option that would have an impact on this PR if merged.

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

if we really want to introduce more ternary options, I think a checkable list is just not suitable for document formatting options, or we should keep these as separate combo boxes. I don't share the concerns regarding the cell border options though.

@CyrilleB79

Copy link
Copy Markdown
Contributor

@LeonarddeR I agree that the cell border option example is disputable. I have never used these options nor heard of any example in real life where they would be used.

However IMO, Line indentation reporting and graphics reporting (if implemented) options would remain clearer from UX point of view if they remain a combo-box and if a unique script is dedicated to toggle combo-box value.
What is your thought about that?

@LeonarddeR

LeonarddeR commented May 7, 2020 via email

Copy link
Copy Markdown
Collaborator Author

@Adriani90

Adriani90 commented May 7, 2020

Copy link
Copy Markdown
Collaborator

How about introducing a tree view with expandable and colapsable elements = groupings, something like in the input gestures dialog? In this case every option in the expanded grouping could have more states, i.e. you can change the state by pressing space bar on the option. NVDA would report the name of the option along with its currectly selected state when navigating through the tree view. That means the options with checkboxes would have to be changed and show the states "on" or "off" instead of a checkbox. Other options could show any other state like (tones) "tones and speech" etc.

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

How about introducing a tree view with expandable and colapsable elements = groupings, something like in the input gestures dialog? In this case every option in the expanded grouping could have more states, i.e. you can change the state by pressing space bar on the option. NVDA would report the name of the option along with its currectly selected state when navigating through the tree view. That means the options with checkboxes would have to be changed and show the states "on" or "off" instead of a checkbox. Other options could show any other state like (tones) "tones and speech" etc.

That would be an user experience like JAWS has. I think something like that would be more useful to have for the complete settings tree instead of only the document formatting settings.

@feerrenrut What do you think about #10448 (comment) and surrounding comments? I'd like to bring this in a state in which you can review this.

@LeonarddeR LeonarddeR marked this pull request as draft May 13, 2020 14:26
@lukaszgo1

Copy link
Copy Markdown
Contributor

Would implementing a tree view like the one used for advanced folder options in Windows Explorer with checkboxes and radio buttons be acceptable here? IMO it eliminates all currently existing problems:

  1. It would be possible to jump to the given item with first letter nav, so the problem of not reporting shortcut keys no longer exists.
  2. The visual issues related to checkable lists would also be gone.
  3. Tree views are not exhibiting these redundant focus announcements.

@LeonarddeR Wrote:

if we really want to introduce more ternary options, I think a checkable list is just not suitable for document formatting options,

It looks like we do. See #10474 (comment) for an example.

@josephsl

josephsl commented May 13, 2020 via email

Copy link
Copy Markdown
Contributor

@feerrenrut

Copy link
Copy Markdown
Contributor

@LeonarddeR apologies for not providing feedback yet. I'm trying to work through bug fixes and "apparently ready to go" pull requests first. I hope you understand.

Previously you have asked about priority of this. I agree there is definitely an opportunity to improve the UX of this panel, and a list could be extended to support filtering, sorting, an enable / disable all. But I don't think the current UX is so bad to need to put a priority on this.

@feerrenrut What do you think about #10448 (comment) and surrounding comments?

I'm not sure what the specific question is, but here is what I think after reading those comments:

In terms of "tri state" options, it might be worth investigating "list/table" types that allow an arbitrary control in a cell. Then the first column could contain a checkbox in some cases and a combobox in others?

As per the description of the PR "Scaling issues, see #8635" don't worry about this here. Now I'm familiar with the problem I see it in lots of software on windows! Not ideal, but not a showstopper either.

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

Given the fact that @feerrenrut pointed out that this doesn't have much priority yet, I'm abandoning this.

@LeonarddeR LeonarddeR added the Abandoned requested reports or updates are missing since more than 1 year, author or users are not available. label Oct 2, 2020
@feerrenrut feerrenrut added the closed/needs-new-author A new author is required to continue work on the PR label Oct 5, 2020
@feerrenrut

Copy link
Copy Markdown
Contributor

From the description it seems like there were a few minor issues to fix on this PR, which someone is welcome to continue on.

If I assume the main "itch to scratch" with this PR is to make it faster to toggle the one setting you are looking for (rather than explore what settings are available), then I think a filter would be the most user friendly way to achieve that.

@josephsl

josephsl commented Oct 5, 2020 via email

Copy link
Copy Markdown
Contributor

@feerrenrut feerrenrut closed this Oct 6, 2020
@dpy013

dpy013 commented Jun 27, 2024

Copy link
Copy Markdown
Contributor

hello all
Any current updates on this PR?
Again, this pr is mentioned because
@SaschaCowley
Improvements under way
Separate object information reporting into speech and braille
Separate table information reporting into speech and braille
Separate document information reporting into speech and braille
Separate element type reporting into speech and braille
and
Separate font attribute reporting into speech and braille
With more and more options for document formatting settings, clear categorization may be needed.
It is suggested that can make a clear grouping of the checkboxes in the document formatting settings gui.
BTW: The current Select NVDA Modifier Keys are also using a list interface similar to this pr
Based on the above example, it is recommended to restart this pr
thanks

@LeonarddeR LeonarddeR deleted the documentFormattingRestyle branch August 23, 2025 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Abandoned requested reports or updates are missing since more than 1 year, author or users are not available. closed/needs-new-author A new author is required to continue work on the PR component/NVDA-GUI enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants