infinitepower18 / WSA-Sideloader

Easily sideload Android apps on Windows Subsystem for Android
GNU General Public License v3.0
344 stars 51 forks source link

[REQUEST]accessibility with screen readers #92

Closed MesterPerfect closed 8 months ago

MesterPerfect commented 1 year ago

Describe your request

Good morning Unfortunately, blind users cannot use this tool Because the tool does not support accessibility with screen readers The graphical interface of the tool is designed with PySimpleGUI This library does not provide any accessibility support with screen readers Can you create another version of the GUI based on wxpython It offers full accessibility support with screen readers Thanks

infinitepower18 commented 1 year ago

Hi,

I have been told about the lack of screen reader support by another user a while ago and sadly, due to lack of screen reader support in tkinter (which PySimpleGUI is based on), it's not available in WSA Sideloader itself. I'm really sorry about this.

PySimpleGUI actually has qt and WxPython versions as well though they haven't been updated in a long time compared to the main Tkinter version. I'm seeing what I can do about this issue, whether it's best for me to switch to another version of PySimpleGUI or use a different framework altogether. A lot of the code in WSA Sideloader is specific to PySimpleGUI thus a rewrite of the UI will take a lot of time should I go with a different framework, so I cannot give a timeframe of when this will be solved.

I've been told by the other user that OCR can be used to recognise the buttons, so try using that in the meantime. If there's anything else I can do to improve accessibility, please let me know.

MesterPerfect commented 1 year ago

Unfortunately, you can do nothing. The cause of the problem is the library πŸ˜” No problem, you can try to fix it on your own time

I have a question, I will translate tool into Arabic Is it better to send translated JSON file via issue or via pull request

infinitepower18 commented 1 year ago

Unfortunately, you can do nothing. The cause of the problem is the library πŸ˜” No problem, you can try to fix it on your own time

Wouldn't the wx version of PySimpleGUI work? Nevertheless I will ask on the GitHub once I get time

Regarding Arabic translations, you can make a pull request. But Arabic is a RTL language right? As of now I haven't accommodated RTL support in WSA Sideloader yet.

MesterPerfect commented 1 year ago

@infinitepower18

Wouldn't the wx version of PySimpleGUI work?

I haven't tried it, and I don't think it offers accessibility support

Nevertheless I will ask on the GitHub once I get time

ok No problem

Regarding Arabic translations, you can make a pull request.

Yes, I will when I finish translating.

But Arabic is a RTL language right?

Yes, it is from right to left

As of now I haven't accommodated RTL support in WSA Sideloader yet.

Never mind, there are programs that have been translated into Arabic and do not support RTL I have translated most of the file, I will try RTL

MesterPerfect commented 1 year ago

image

infinitepower18 commented 1 year ago

Looking great!

It would be appreciated if you could get the store listing translated as well:

https://gist.github.com/infinitepower18/526d323e8a1fd2f6307adba163aafce4

MesterPerfect commented 1 year ago

Looking great!

It would be appreciated if you could get the store listing translated as well:

https://gist.github.com/infinitepower18/526d323e8a1fd2f6307adba163aafce4

https://gist.github.com/MesterPerfect/4ac6c12fea21f28bf25151f2356c5516

MesterPerfect commented 1 year ago

Looking great!

It would be appreciated if you could get the store listing translated as well:

https://gist.github.com/infinitepower18/526d323e8a1fd2f6307adba163aafce4

I translated store listing . Did you get it?

infinitepower18 commented 1 year ago

Yes, will update the store listing in a while.

MesterPerfect commented 1 year ago

Yes, will update the store listing in a while.

ok, you can close this issue. And if you need my help, I'm here.

infinitepower18 commented 1 year ago

I will keep this open for now so I can keep track of what things to work on.

MesterPerfect commented 1 year ago

I will keep this open for now so I can keep track of what things to work on.

ok

infinitepower18 commented 1 year ago

How is the accessibility support provided by pyqt or pyside?

Moving to a better framework is one of the long term plans of this project. I rather stick with a Python based framework and reuse the ADB code I wrote before as it's proven to work quite well. Right now pyqt, pyside and wxPython are my options.

MesterPerfect commented 1 year ago

How is the accessibility support provided by pyqt or pyside?

Moving to a better framework is one of the long term plans of this project. I rather stick with a Python based framework and reuse the ADB code I wrote before as it's proven to work quite well. Right now pyqt, pyside and wxPython are my options.

I would have recommended you to use wxpython as it is the Most libraries that provide accessibility support. However, with wxpython you will not be able to add any aesthetics to your program and you won't even be able to provide a dark mode. So, the best option is pyqt, specifically pyqt6 It is the most well-supported version of Accessibility. With it, you can create a beautiful look, add dark mode, and more.

infinitepower18 commented 1 year ago

Yeah I want to add fluent design to the app to make it more in line with Windows 11, which I tried to do with the current PySimpleGUI version despite the limitations with the framework.

Using something like this, I might be able to add fluent design to the app. https://github.com/zhiyiYo/PyQt-Fluent-Widgets

MesterPerfect commented 1 year ago

Yeah I want to add fluent design to the app to make it more in line with Windows 11, which I tried to do with the current PySimpleGUI version despite the limitations with the framework.

Using something like this, I might be able to add fluent design to the app. https://github.com/zhiyiYo/PyQt-Fluent-Widgets

I will preview it with accessibility to see if it supports accessibility or not

MesterPerfect commented 1 year ago

Yeah I want to add fluent design to the app to make it more in line with Windows 11, which I tried to do with the current PySimpleGUI version despite the limitations with the framework.

Using something like this, I might be able to add fluent design to the app. https://github.com/zhiyiYo/PyQt-Fluent-Widgets

These Widgets are based on pyqt5. They are good with accessibility with simple elements. Buttons, checkboxes, radio buttons, and more You can use it, and I will always be there to experiment accessibility with items you will use

infinitepower18 commented 1 year ago

The redesigned app will be released as version 2.0, once I get started on it I will be releasing betas to help get it tested as well as have something for users with accessibility needs while I complete it.

MesterPerfect commented 1 year ago

The redesigned app will be released as version 2.0, once I get started on it I will be releasing betas to help get it tested as well as have something for users with accessibility needs while I complete it.

great Thank you

infinitepower18 commented 1 year ago

Could you check both the PyQt6 and PySide6 versions of the fluent widgets to see if they meet the accessibility requirements? They are found in separate branches of the repo.

MesterPerfect commented 1 year ago

Could you check both the PyQt6 and PySide6 versions of the fluent widgets to see if they meet the accessibility requirements? They are found in separate branches of the repo.

pyqt6 is very good at accessibility support https://doc.qt.io/qtforpython-5/PySide2/QtGui/QAccessible.html

infinitepower18 commented 8 months ago

Looks like PySimpleGUI has turned into a paid subscription service, making me accelerate my plans to move to a different framework. I will make an update post soon.

infinitepower18 commented 8 months ago

Update on future plans: https://github.com/infinitepower18/WSA-Sideloader/discussions/108

MesterPerfect commented 8 months ago

Looks like PySimpleGUI has turned into a paid subscription service, making me accelerate my plans to move to a different framework. I will make an update post soon.

As a developer, what value do I receive by using PySimpleGUI? Are there features that justify the investment?

infinitepower18 commented 8 months ago

It's a good framework for those starting out, but there's only so much you can do especially with design. I actually made a custom theme to make it look like a Windows 11 app. This was the default look which is what WSA Sideloader looked like before version 1.2:

image

Another issue was I can't set dark titlebar for dark mode. I'm hoping to solve this when I work on the new version.

MesterPerfect commented 8 months ago

It's a good framework for those starting out, but there's only so much you can do especially with design. I actually made a custom theme to make it look like a Windows 11 app. This was the default look which is what WSA Sideloader looked like before version 1.2:

I attempted to use it some time ago, but due to issues and poor accessibility, I only utilized it for one day.

Another issue was I can't set dark titlebar for dark mode. I'm hoping to solve this when I work on the new version.

If you are considering using the wxPython framework, you will encounter the same issue with it, and there won't be any solutions available.

https://discuss.wxpython.org/t/dark-mode-with-wxpython-on-windows/36530

infinitepower18 commented 8 months ago

Unfortunately, Microsoft has decided to discontinue Windows Subsystem for Android, so I have decided not to do the rewrite as I think it’s not worth developing for something that will no longer be supported. Sorry about that.

More info: https://github.com/infinitepower18/WSA-Sideloader/discussions/112