Skip to content
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

When in day view in the calendar of Outlook 2010 if there are appointments that are shared between calendars moving by day using the left and right arrows NVDA does not announce "Has appointment" when it encouters a day with appointments that are shared. #4387

Closed
nvaccessAuto opened this issue Aug 13, 2014 · 7 comments
Labels
app/microsoft-office bug close/cantfix p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority

Comments

@nvaccessAuto
Copy link

Reported by johnythehess on 2014-08-13 15:41
Normally, in outlook 2010 when using the master of NVDA if there are appointments on a particular day when moving through the days in day view by using the left and right arrow keys NVDA will say "Has Appointment" when it encouters a day with appointments. If the appointments are shared with other calendars NVDA does not announce has appointment when it encounters that day. I can still tab to see the appointmens but I have to tab when I get to each day if NVDA doesn't let me know there are appointments for that day

@LeonarddeR
Copy link
Collaborator

I actually belief that NVDA only says has appointment in the day view when you come across a date that has an appointment in the specific time slot that is selected. Having said that, there are probably many people who do use the Outlook calendar much more often than I do. cc @dkager @bramd

@LeonarddeR
Copy link
Collaborator

@feerrenrut: agree with giving this a p3? It can be quite annoying to walk through days in the calendar and miss the fact that a day has appointments. On the other hand, the month view does not have this problem and feels a bit more usable to me.

@feerrenrut
Copy link
Contributor

Yep, happy to give this a P3. Given there are other ways to achieve the task.

@feerrenrut feerrenrut added the p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority label Feb 14, 2018
@LeonarddeR
Copy link
Collaborator

Coming back to this, @bramd and I have found another case where this fails.

  1. In the outlook Calendar, enable two calendars
  2. In the folder/calendar tree view, select the two calendars. IN the context menu, select overlay.
  3. Calendars are now merged, but when using left and right arrows to navigate through the days, only for one calendar the appointment status is announced.

@feerrenrut: Mind if i Increase priority to p2 to investigate this myself? I will report back when I have more information.

@bramd
Copy link
Contributor

bramd commented Feb 20, 2018

@LeonarddeR Yes, this might be exactly the same issue. Hard to say without a look at the code though.

@LeonarddeR
Copy link
Collaborator

LeonarddeR commented Feb 21, 2018

I'm afraid there is no way to fix this using the outlook object model:

  1. To determine the start and end date and time of the currently active time slot or day, NVDA uses the current view object to fetch the start and end date of the selection. It seems that view objects do not expose information about the amount of appointments in a selection.
  2. To gather that information instead, NVDA fetches the current folder object and checks whether there is an item in that folder within the selection start and end of the view. If an item has been found, NVDA reports "has appointment".
  3. The problem here is that a view can display multiple folders (e.g. in the case of two calendars in one view). However, only one folder can be the current folder. The current folder is the folder that contains the last selected appointment. So if you're moving to another time slot that contains an appointment in another folder than the one Outlook considers to be the current, NVDA won't announce "has appointment" even though the view displays one.

The only way I've found to work around this, is the IAccessible name of the view object, which contains information about how many appointments there are. However, the name contains quite a lot of comma separated information, and I'm afraid there's no reliable way to filter out the required information, unless someone comes up with a proper regex.

@LeonarddeR
Copy link
Collaborator

I've investigated this using Outlook 2013. Where Outlook 2016 exposes information about number of appointments using MSAA, Outlook 2013 and older does not. Therefore, we must rely on the object model here. This issue is caused by a limitation in the object model as noted above. I've been able to replicate this deficiency in JAWS 2018 with Outlook 2013.

I'm closing this as can't fix. Relying on MSAA for this in Outlook 2016 and newer is beyond the scope of this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/microsoft-office bug close/cantfix p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet
Development

No branches or pull requests

5 participants