nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.09k stars 630 forks source link

LibreOffice Writer: provide speech and braille feedback for common shortcut keys #6915

Open surfer0627 opened 7 years ago

surfer0627 commented 7 years ago

This is a feature request that NVDA provide speech and braille feedback for common shortcut keys in LibreOffice Writer. Common shortcut keys include:

Effect Shortcut keys
increase font size ctrl+[
decrease font size ctrl+]
toggle bold ctrl+b
toggle italic ctrl+i
toggle underline ctrl+u
toggle double underline ctrl+d
align left ctrl+l
align right ctrl+r
justify ctrl+j
centered ctrl+e
apply heading 1 to 5 ctrl+1 to ctrl+5
increase outline level tab
decrease outline level shift+tab

notes:

To change the heading level with the keyboard, first position the cursor in front of the heading.

feerrenrut commented 7 years ago

I assume that the current behaviour is that there is no output when these shortcuts are pressed? Please correct me if I am wrong @surfer0627.

User Story: Who: Any user of NVDA working with the latest stable version of LibreOffice What: When applying a common formatting change via a keyboard shortcut the name of the formatting change is reported. Why: So that I can confirm that I pressed the correct keyboard shortcut.

It would be helpful to consider what nvda should output for each of these shortcuts. As a starting point I would suggest the name of the shortcut. EG:

vsfoote commented 7 years ago

These are not valid as assigned shortcuts in LibreOffice. There are menu accelerators assigned depending on local, but no Shortcut is assigned to the format category action globally or in the Writer module.

increase outline level tab decrease outline level shift+tab

The other shortcuts listed would be valid.

For context, within the LibreOffice GUI, the Tools -> Customize dialog has a panel for the Keyboard Shortcuts--defaults and any user assigned. It will toggle by radio button between global assignements and module specific. Below the tabs, the Shortcut keys are listed -- with the assigned Function (global or per-module as selected).

Below that is a columnar listing of Functions, grouped by Category on the left, the Function names center, and any shortcut Key(s) assigned.

Be aware that the name of the Function will be localized (i.e. translated). And the shortcut Key assigned may also differ by the language locale in use.

surfer0627 commented 7 years ago

Reply to @feerrenrut:

I assume that the current behaviour is that there is no output when these shortcuts are pressed?

Yes. But the shortcut Keys assigned may different by the language locale in use.

It would be helpful to consider what nvda should output for each of these shortcuts.

Perhaps, we could consider the output as NVDA do in Word as well.

file: source/NVDAObjects/window/winword.py line: 1349

zahra21 commented 7 years ago

hi. i have libreoffice 5.2.6 and nvda announces most shortcuts for me. announcing shortcuts is very great in most cases since libreoffice 5.0 branch. thanks so much and God bless you all.

zahra21 commented 6 years ago

hi again. just press alt key and find format and style menu. nvda reads your desire options along with there shortcuts without issue! hope that help, God bless you all!

Adriani90 commented 5 months ago

@michaelweghorn are such key strokes like for increasing / decreasing outline, increasing / decreasing font size or applying alignment or heading 1 through 5 also covered in LO 24.8? I wanted to download any build to test with NVDA your PR #16413 but it seems there is no build for Libreoffice 24.8 generated yet. right?

michaelweghorn commented 5 months ago

@michaelweghorn are such key strokes like for increasing / decreasing outline, increasing / decreasing font size or applying alignment or heading 1 through 5 also covered in LO 24.8?

@Adriani90 PR #16413 covers these formatting changes (keyboard shortcuts for English locale):

        # bold
        "kb:control+b"
        # italic
        "kb:control+i"
        # underline
        "kb:control+u"
        # superscript
        "kb:control+shift+p"
        # subscript
        "kb:control+shift+b"
        # align left
        "kb:control+l"
        # align center
        "kb:control+e"
        # align right
        "kb:control+r"
        # justified
        "kb:control+j"

So some of those mentioned in the issue here are not covered by that PR yet, but could potentially be implemented either in a similar way (handle value-change event of combobox for font size,... - need to verify that LibreOffice actually sends the corresponding events) or by retrieving the corresponding attributes via text/object attributes if these are reliably available (which is e.g. not the case for bold,... when no text is selected, s. comment in PR #16413, but should be for e.g. the heading level, which is an attribute for the whole paragraph, independent of the cursor position within the current paragraph).

I wanted to download any build to test with NVDA your PR #16413 but it seems there is no build for Libreoffice 24.8 generated yet. right?

The official release of LibreOffice 24.8 is scheduled for August, but you can download daily builds of the current development version (git master) for testing here: https://dev-builds.libreoffice.org/daily/master/current.html

michaelweghorn commented 2 weeks ago

17147, #17153 and #17187 implemented announcement for

The one feature requested here but not implemented yet is increase/decrease outline level. As far as I understand it, that depends on implementing reporting of the outline/list level in LibreOffice first. Implementing the object attributes as specified in the "List" section in the IAccessible2 Object Attribute spec might be a potential way to do that: https://github.com/LinuxA11y/IAccessible2/blob/master/spec/objectattributes.md#list