-
-
Notifications
You must be signed in to change notification settings - Fork 651
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
temporary Screen curtain deactivates after say all profile or manual profile trigger #11062
Comments
Hmm, this is a tricky one. The temporary curtain is active until the next configuration change. If the config profile is switched, the vision handler disables providers that are not active in the configuration. |
Hi. I think the implementation of screen curtain is very tricky and confusing at best. Why there was a temporary feature, I do not know, when there are profiles at play in NVDA, as well as reverting saved settings and the ability to manually save settings. It is not intuitive in my opinion. There should only be two modes...on or off. |
The temporary mode was implemented for people who would like to have
Screen Curtain enabled on a temporary basis, until they restart NVDA.
This applies to people who don't use screen curtain as a default.
|
Yes, but the use cases don't warrant the need for a temporary screen curtain.
If someone wants the screen curtain setting to temporarily be
available, then they could either create a profile with it enabled or
uncheck saving of configuration profiles when NVDA is exited. They
could also disable the screen curtain after use. This mirrors what is
seen in other screen reader products.
The temporary screen curtain is also not intuitive because it warrants
the pressing of the key twice to permanently enable the curtain, but
one press to disable it entirely. This permanency is also dependent on
if saving of settings when NVDA exits is checked.
I think the add-on did a better job. Screen curtain should just be
toggled on and off.
…On 4/27/20, Leonard de Ruijter ***@***.***> wrote:
The temporary mode was implemented for people who would like to have
Screen Curtain enabled on a temporary basis, until they restart NVDA.
This applies to people who don't use screen curtain as a default.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#11062 (comment)
|
@LeonarddeR I can see the appeal to making screen curtain settings global (not tied to a profile). What is the use case for profiles with screen curtain? Or another option is to make gestures override the current profile. |
The config profile support is actually one of my main use cases for the screen curtain. Applications I don't want people to see what I'm doing in are tied to a profile that enables the curtain when I'm in that app. |
@LeonarddeR IMO screen curtain should be a global setting because we cannot guarantee that privacy is honored if this setting is profile-dependant. Worse, it makes believe the user that he has a guaranteed privacy whereas it is not always the case. |
I would agree completely with @CyrilleB79. I do not think people expect this
setting to be profile-dependent, either, as most (all?) other systems that
support a screen curtain, either have it globally on or globally off. There is
no circumstantial application of the screen curtain.
|
I think both concerns could be resolved with this. Couple that with the request for audible feedback during every enable / disable of screen curtain (issue #10692) and the user should be well informed about the current state. With this approach there is a corner case to consider: This allows those who prefer an automatic approach to rely on it, and override it when necessary. Those who prefer a manual approach don't have to worry about this being applied to their current profile settings. |
@feerrenrut do you include the pop-up window use case in the "both concerns" you mention? If yes, could you elaborate on this taking the same use case as example? I do not understand why making screen curtain gestures override the current profile resolves the issue. |
Hi.
I can actually see the need for application/profile specific screen
curtain, similar to what the add-on provided. For those persons that
want it to be turned on and off only, they can use the normal
configuration profile to do so, or deactivate any running profiles and
toggle it. This would be consistent with all of NVDA's other settings,
barring the general ones. However, the temporary and permanent screen
curtain confuses things, as it is not consistent with NVDA's settings
where profiles are taken into account.
…On 4/29/20, CyrilleB79 ***@***.***> wrote:
> > make screen curtain gestures override the current profile.
>
> I think both concerns could be resolved with this.
@feerrenrut do you include the pop-up window use case in the "both concerns"
you mention? If yes, could you elaborate on this taking the same use case as
example? I do not understand why making screen curtain gestures override the
current profile resolves the issue.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#11062 (comment)
|
My understanding of this concern:
To achieve this, manual screen curtain activation (via the gesture) overrides any profile setting.
|
@feerrenrut thanks for clarification. So the use case of manual activation seems clear to me and a profile switch would not interfere with it. Anyway, unless I have missed something, the activation triggered by profile switch does not address privacy concerns, as described in the pop-up window use case. Another use case that does not guarantee privacy is the following:
For me, the pop-up window use case and this not maximized window use case are two use case that may break the user's privacy when he expects it to be guaranteed. @LeonarddeR could you please comment on these 2 use case and their impact on privacy? Maybe also I have missed another use case where profile-dependant screen curtain activation would be more interesting. |
I don't fully understand this idea of @feerrenrut I'm afraid. As far as I know, a profile switch should not disable a permanently enabled screen curtain unless it was once explicitly disabled within that profile. If it was once disabled within a profile, disabling the screen curtain could have been done for a particular reason. The problem is temporary activation. If the curtain is temporary activated, the config doesn't change. After a profile switch, the current state of the provider is compared against the complete NVDA config with the profile active, not just the profile. I think this is were the culprit really is. The state of the curtain should only be changed if there is an explicit configuration key in just the profile itself. |
I'm trying to avoid getting bogged down with the limitations of the implementation, and think in terms of user outcomes here. My assertions:
There are of course some limitations to the way that profiles activate and deactivate that may not make it acceptable for every persons workflow, EG popups. However it could be useful for certain very well defined work flows. Particularly short lived ones. I'm suggesting that both gestures (permanent and temporary) screen curtain enable get their own settings that live only in the base config. This is in addition to the settings panel config option that can be used by profiles. When this setting is enabled it overrides any other profile (GUI) setting for screen curtain. |
This makes sense. |
Could you give a real life example please? Sorry but I really cannot figure such use cases since I am only a rare user of screen curtain, and I did never need to have it profile dependent. I also fear that the screen curtain option be difficult to understand clearly for all users: temporary vs. definitive, global shortcut vs. profile-associated setting, etc. Hence my comments. |
A user with a password manager, such as keepass. They open keypass, find the correct account, get the app to copy the password and paste it into their application. All secrets/passwords in keepass are hidden already, but the user doesn't want someone looking over their shoulder to know what other accounts they have. To cater to this they might set up a profile specifically to enable screen curtain for keepass.
I understand, these different parts add complexity, but they don't have to make the feature complicated. Most users don't need to understand all parts of the feature. Understanding and using profiles correctly is for more advanced users already, and I believe there are several improvements we could make to profile configuration to make it easier to understand also. Right now, we have a plan to address the core issue raised. Once that is implemented we can check again if the feature seems complicated for users. |
OK thanks for the example. Again, privacy is not guaranteed, but as you explained, for applications that are used in a limited gap of time, the risk to see privacy compromised is reduced. The user should just be aware of it when using profiles. |
very related, if not duplicate of #10476. |
Just adding here another very frequent example of privacy compromission: |
@LeonarddeR you said in #11062 (comment) |
@gerald-hartig or @seanbudd could you triage and set a priority to this issue? Having a privacy-related issue untriaged for such a long time makes it less easily trackable and thus it is quite uncomfortable. |
By the way, maybe the development of NVDA magnifier could be the opportunity to review and simplify screen curtain code and use cases. |
I guess the sleep mode approach could be considered, but I don't see how that would solve the problem with app specific triggers, and that's also a valid concern. Thinking more and more about this, may be we should just crack the nut and make vision a global section anyway. |
I guess that there are real use cases for vision providers to remain profile specific. That's useful to enable/disable focus highlighters manually, and it will probably be also very useful with various configurations of the future NVDA magnifier. Much more interesting would be to remove screen curtain from vision providers / vision panel and make it a global (no profile) parameter, as are general settings. As I already wrote in other discussions, having screen curtain in the vision panel is an aberration: screen curtain is not a visual aid but a privacy feature. |
Steps to reproduce:
NVDA will disable screen curtain
Log looks like this:
Additional info:
If this behavior is intentional, I think that we need to modifi somehow the explanation of temporary screen curtain e. g. that restart and profiles will disable it.
The text was updated successfully, but these errors were encountered: