microsoft / accessibility-insights-windows Goto Github PK
View Code? Open in Web Editor NEWAccessibility Insights for Windows
Home Page: https://accessibilityinsights.io
License: Other
Accessibility Insights for Windows
Home Page: https://accessibilityinsights.io
License: Other
Please check whether the bug has already been filed.
Describe the bug
A clear and concise description of what the bug is.
When the user installs Accessibility Insights for Windows, Ada the cat is visible on the left side of the first install dialog. However, once you start the install dialog, there's a red box where the logo would be.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
There should be an Accessibility Insights logo at the top right.
Actual behavior
What actually happened.
There's a red square with a CD at the top right.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line) Windows 10 Version 1809Additional context
Priority requested -
Add any other context about the problem here.
According to WiX, it looks like this is the top banner and may be customizable (I haven't tried it)?
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Using build 1.1.0794.01:
Expected result:
The maximize button should change to a restore button.
Expected behavior
The maximize button stays as the maximize button.
Actual behavior
What actually happened.
Screenshots or .GIF
In the screenshot below, the maximize button on the top right is still the maximize button:
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
Add any other context about the problem here.
Describe the bug
Currently, the app refers to UI Automation as UIA; looking at the UI Automation reference docs, UIA is not the correct acronym for the tech.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
UIA is not used when referring to UI Automation.
Actual behavior
UIA is used when referring to UI Automation.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Add any other context about the problem here:
Current rule
The given element is expected to have the following structure: SplitButton and ( == 1 or == 2) and <= 1 and <= 1 and AllChildren(not(IsControlElement) or (Button or Image or Text)).
Proposed rule
The rule should allow Menu and MenuItem.
See the documentation: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supportsplitbuttoncontroltype#typical-tree-structure
The UIA spec (https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supportpanecontroltype#required-control-patterns) says a pane control should NEVER support the Window pattern.
This rule should return an error.
Describe the bug
Color contrast tests do not have the correct foreground and background colors selected in the automated mode.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Foreground and background colors are correctly set
Actual behavior
They are inverted.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Min's suggestion was to change the text of Background and Foreground color to color 1 and color 2 (we had this before but changed it since then) since this is not something that really matters.
I'm having trouble building the test cases. I get some 400 of errors. It's complaining about missing assembly references, but I haven't added any dependencies or things that would require new assembly references.
It seems to me that I might not have access to some internal QA stuff on the Azure/Microsoft side of things. It is in particular complaining about Microsoft.QualityTools
and perhaps a few other assemblies involving Fakes
.
Error CS0234 The type or namespace name 'QualityTools' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) ExtensionsTests C:\Users\DemoUser\Source\Repos\accessibility-insights-windows\src\AccessibilityInsights.ExtensionsTests\ContainerUnitTests.cs 4 Active
Error CS0234 The type or namespace name 'Fakes' does not exist in the namespace 'System.IO' (are you missing an assembly reference?) ExtensionsTests C:\Users\DemoUser\Source\Repos\accessibility-insights-windows\src\AccessibilityInsights.ExtensionsTests\ContainerUnitTests.cs 8 Active
Describe the bug
Issue filing is completely absent from recent builds.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Issue filing should be available from the ux.
Actual behavior
Issue filing is not available.
Describe the bug
The content of the What's new dialog needs to be updated to reflect features added since the initial release
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The content should have reference to GitHub issue filing and release channels
Actual behavior
The content is unchanged from the initial release
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Describe the bug
With the improvements made in #210, the color contrast analyzer has more things in its UI. We want to re-visit the instruction text, especially as it already links to a tutorial via the info icon.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Users know how to get started right away with the Color Contrast Analyzer and isn't overwhelmed by the amount of introductory content.
Actual behavior
The intro text can introduce scrollbars under certain sizes:
Intro text: To auto detect an element's contrast ratio, hover over the element within a target application or set keyboard focus on the element. The analyzer will update with the auto detected colors, the contrast ratio, and the confidence level.
To manually select two colors to test the contrast ratio, select each color using the Eyedropper. You can also select a color using the Color Picker box or enter its hex code.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
Add any other context about the problem here.
Describe the bug
From user feedback, emphasize the role of automated checks in the tool: "that no automated tool can find even a majority of accessibility defects on a web page"
To Reproduce
Steps to reproduce the behavior:
OR
Expected behavior
The Automated checks section of FastPass should clarify that it only finds some of the most common accessibility issues
This change should be added to the rule ControlShouldSupportSelectionPattern.
See https://docs.microsoft.com/en-us/windows/desktop/WinAuto/uiauto-supportspinnercontroltype
Describe the bug
When starting AccessibilityInsights on some machines, the app hangs, then crashes. Looking in the event viewer, it's throwing an Exception:
Application: AccessibilityInsights.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
at AccessibilityInsights.SetupLibrary.MsiUtilities.GetInstalledProductVersion(AccessibilityInsights.SetupLibrary.IExceptionReporter)
at AccessibilityInsights.SetupLibrary.MsiUtilities.GetReleaseNotesUri(AccessibilityInsights.SetupLibrary.IExceptionReporter)
at AccessibilityInsights.Modes.StartUpModeControl..ctor()
Upon further investigation, the problem is that the Microsoft.Deployment.WindowsInstaller assembly needs to be in the app's main folder instead of installed with the AutoUpdate extension.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
App should start normally
Actual behavior
Splash screen displays, then the app just... stops. The Exception shows up in the Event Viewer.
Desktop (please complete the following information):
Please check whether the bug has already been filed.
Describe the bug
Telemetry does not distinguish when a bug is created if it was created to GitHub or Azure DevOps. Understanding usage of this feature is important for success metric of the new feature and can help in the future to take decisions.
Expected behavior
Telemetry distinguishes if a bug was filed in AzureDevOps or GitHub (no other information)
Current rule
The given element is expected to have the following structure: Tab and AnyChild(IsControlElement) and AllChildren(not(IsControlElement) or (Group or ScrollBar or TabItem)).
Proposed rule
Rule should allow Button.
See the documentation: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supporttabcontroltype#typical-tree-structure
The UIA spec (https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supporteditcontroltype) requires every edit control to support at least the Text control pattern. The Value pattern is supplemental. This rule should return an error.
Repro Steps:
Note, you can see the same behavior in the Teams Desktop version in the Search box (Ctrl + E).
Results
When using the keyboard, Insights is not populating data for each suggestion item. For the mouse most of the suggestion items do not show up in Insights.
Expected
Insights should be showing data for every items in the suggestion drop down.
Describe the bug
The string resource identified as ScannerResultControl_btnFileBug_Click_File_Issue_Configure has a typo, leading to a confusing message.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The error message should say To file issues, select where you want to file issues., but it's confusing since it's missing the first letter.
Desktop (please complete the following information):
Additional context
Priority requested -
Add any other context about the problem here.
The GetStarted page + What's new both say "Check color contrast: Investigate color contrast using Color Contrast." This sounds a bit repetitive, we should consider rephrasing.
Is your feature request related to a problem? Please describe.
Today, doc.microsoft.com hosts the How to Fix guidance, but the content is specifically customized for the purposes of Accessibility Insights users; updates and feedback will most likely come from Accessibility Insights users.
Describe the solution you'd like
Accessibility Insights should own the "View Code Sample" content in a documentation repository.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Current rule
The given element is expected to have the following structure: SplitButton and ( == 1 or == 2) and AllChildren(not(IsContentElement) or Button).
Proposed rule
The rule should allow MenuItem.
See the documentation: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supportsplitbuttoncontroltype#typical-tree-structure
Describe the bug
When a user selects "View results in UIA tree" in Automated checks, the user is taken to Live Inspect's Test Results view with limited insight into where they are and how they can get back to the automated checks results.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
All users should know that they've been taken to Live Inspect's Test Results view, and that they can get back to the automated checks results by navigating to the Test mode or via the breadcrumbs.
Actual behavior
User study feedback suggests folks are unaware that they can go back to the Test mode.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
Add any other context about the problem here.
Describe the bug
The current instruction test for Live Inspect's Events pane is not clear.
To Reproduce
Steps to reproduce the behavior:
Shift + F7
. You can also use the context menu > Listen to events.Expected behavior
In the Events pane, there's instruction text: "Select the events to listen to in the Configuration tab, and select Record [record button] to start recording. You can also press Shift + F7."
Actual behavior
"Select the Events you want to listen to in the Configure Events tab and press record to start recording."
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
Add any other context about the problem here.
Repro steps:
Repro steps:
Expected behavior:
To file issues, select where you want to file issues.
Actual behavior:
To file issues, select an issue tracker and specify the desired location..
Repro steps:
Expected behavior:
Under Issue Filing, it reads: "To start filing issues, select where you want to file your issues. Learn more about issue filing."
Actual behavior:
Lorem ipsum.
Describe the bug
In Chrome, the settings menu pane does not clip based on the browser's size. Instead, the pane will exceed the size of the browser and always show its children. Because of this, ai-win flags the pane because its bounding rectangle is not contained within the bounding rectangle of its parent. The pane itself seems like a window. This rule should be revised to either omit the check in this case (using NativeWindowHandle + Pane control type + class name heuristics) or be changed to a 'best practice' rule.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The pane should not be flagged for an invalid bounding rectangle.
Actual behavior
The pane is flagged for a bounding rectangle that exceeds the size of its parents.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
At the moment, if you have a UI element under inspection there is no way to dive deeper into its children nodes. You can get observe and navigate its top-level children, but nothing deeper.
Describe the solution you'd like
It would be nice to be able to dive deeper into children UI elements from the inspection window.
Describe alternatives you've considered
It is possible to inspect UI elements deeper in the tree on screen, but it will not let the user easily observe elements that may perhaps be hidden from the UI or collapsed.
Describe the bug
When Windows is in high-contrast (white) mode, the colors auto-detected by the color contrast analyzers aren't correct.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
auto-detected colors should closely match actual colors
Actual behavior
auto-detected colors are very different (see picture below). Confidence and color accuracy seem to have no correlation.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
Add any other context about the problem here.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Read point 5.
Issue
"Products.wxs" should be "Product.wxs", remove the 's' at the end.
Describe the bug
The AI-Win telemetry reports only 2 values for the OS. It's either Microsoft Windows NT 6.1.7601 Service Pack 1 for Windows 7 SP1 (our lowest supported platform) or Microsoft Windows NT 6.2.9200.0 for everything else, meaning that we have no meaningful OS version data in our telemetry.
The fix
The fix is to uncomment the boilerplate supportedOS sections in the manifest files. That will cause the OS to report the correct OS info without any code change.
The risk
By uncommenting the supportedOS pieces in the manifest files, we also change some of our high DPI behavior. There's a good overview of this at https://walbourn.github.io/manifest-madness/. We had a lot of trouble getting high DPI support right, so if we enable this, we'll need to plan on testing (and maybe fixing high DPI issues) in at least the following areas:
It's fine if we choose not to fix this, as long as we're also willing to live with the lack of usable OS info in the telemetry.
Describe the bug
The link to the release notes always points to the production release notes, regardless of release channel
To Reproduce
Steps to reproduce the behavior:
Expected behavior
This should go either to the release notes for the Channel or the specific Release
Actual behavior
This goes to the releases notes on accessibilityinsights.io (which is always production)
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Priority requested -
Add any other context about the problem here.
Current rule
Currently looks for text controls that support the value pattern. Returns as uncertain instead of error.
Proposed rule
Problem
Users are in the Production channel by default, even if they're on a build that is still being treated as Canary or Insider. This is a potential for confusion, as the UI shows no prompt to let the user know that they're on a pre-production build. It also reduces the build validation benefit we get from having users choose to stay current with pre-production Channels.
Proposed solution
At startup, we should check to see if the currently version is newer than the version assigned to the user's selected Channel. If it is, we should check that version to determine the Channel currently assigned to that version, and ask the user if they'd like to change to that Channel (we should tell the user what channel they're on (typically Production), what channel is being proposed (Insider or Canary), and maybe include the existing descriptions of how the Channels compare. The user should have choices similar to
Since this touches the UX, we need to get design input on the user interaction.
Considered/Rejected Solution
At one point, we released different sets of bits for different target audiences. We've intentionally moved to a model where we release only one set of bits per version. That's more consistent with typical OSS practices, and we don't want to go back to the old way.
Describe the bug
AI-Win does not save event details in serialized event files. When loading such a file, the event details are blank.
To Reproduce
Actual behavior
Desktop (please complete the following information):
winver
from the command line)This issue should be fixed post-CSUN
This would give a4win parity with a4web, which treats this rule as a warning.
A4web also only reports an error when other landmarks exist on a page. I would like to get feedback from others as to whether we should make that change as well.
The structure rules have the following gaps:
IsControlElement
or IsContentElement
is true.Because these are best-practice rules (evaluated as either Pass
or Note
), the user impact is not too high if the rules are unnecessarily run or scoped too loosely. However, we should be as close to the docs as possible.
We should consider making a full pass through the documentation to:
IsControlElement
or IsContentElement
is trueIn its current form, AccessibiltyInsights for Windows raises no warning or error if items in a listbox all have the same name. This is a case that can make it more difficult to know the contents of the items.
Suggestion: Create a rule that runs on listboxes and checks for duplicated names between the list items. There are legitimate cases (such as pictures as the list items) that may limit this rule to generating only warnings, no errors.
Current rule
The given element is expected to have the following structure: Spinner and == 2 and <= 1 and AllChildren(not(IsControlElement) or (Button or Edit)).
Proposed rule
The rule should allow ListItem.
See the documentation: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supportspinnercontroltype#typical-tree-structure
We still have "custom rules (supported soon)" in the Test settings tab. Does this make sense to keep around?
Describe the bug
The first time tests are run against an application, the checkboxes in automated checks do not change the visibility of the image highlighter. However, if you view the hierarchy tree and return to the automated checks screen, the checkboxes work properly.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
In step 3 above, the red rectangles should change visibility when the checkbox is toggled in the automated checks view
Actual behavior
The rectangles stayed visible
Desktop (please complete the following information):
Additional context
FYI, highlighter actions may be moving to SharedUX soon but functionality should be intact
When in live inspect / events I cannot switch to "Test" mode unless I go back to live inspect mode first. (Can still go to color contrast test)
Current rule
The given element is expected to have the following structure: Spinner and NoChild(IsContentElement).
Proposed rule
The rule should allow ListItems.
See the documentation: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supportspinnercontroltype#typical-tree-structure
Describe the bug
When running the tab stops test, the number (1) isn't shown on an element if it already has focus when you turn on the tab stops test.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The number (1) appears on the First name field.
Actual behavior
The number (1) appears on the Last name field.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
Add any other context about the problem here.
Describe the bug
The current startup sequence can take up to 2 - 3 seconds while it checks for new updates before showing the Welcome page or launching Inspect mode.
Users feel that the app is not responding during those few seconds, and we need to improve this experience.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Users see a visual indicator that the app is launching.
Actual behavior
Nothing is displayed on the screen until Accessibility Insights for Windows finishes checking for updates.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Recommendation from Min: use the WPF splash experience.
How about removing "on hover" from the toggle button control on top?
since CCA detects colors on hover and keyboard focusing, "On hover" would not be needed.
@risanaka ?
Originally posted by @neocln in #129 (comment)
@flyingUnderTheRadar: please update the toggle button as follows:
Toggle label: Auto detect color contrast ratio
Toggle tooltip: Hover over the element or set keyboard focus to auto detect color contrast ratio.
Describe the bug
Automated tests identify one of the button children of a vertical scrollbar in the top or bottom position as having null BoundingRectangle
. However, debugging the visual tree in Visual Studio, I find BoundingRectangle
set for each of these buttons.
(If the scroll bar is in an intermediate position between top and bottom, the test passes.)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The test should pass. Visual Studio's Live Visual Tree shows BoundingRectangle
values on the ScrollBar
's button children:
Actual behavior
One of the child buttons of the scroll bar is identified as having a null BoundingRectangle
:
.
Desktop:
Describe the bug
Color contrast algorithm returns NULL for certain images
To Reproduce
Steps to reproduce the behavior:
Expected behavior
the mostContrastingPair should return the most contrasting pair of the actual color of the image
Actual behavior
The mostContrastingPair value calculated from RunColorContrastCalculation function is null.
Screenshots or .GIF
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
winver
from the command line)Additional context
Priority requested -
The affected tests, SimplePurpleAndWhiteButton and SimpleBlueAndWhiteText should be uncommented after that issue is fixed
Current rule
The given element is expected to have the following structure: Calendar / (DataGrid and NoChild(Header) or == 1 and AnyChild(Header and (NoChild(HeaderItem) or == 7)) and NoChild(Button) or == 2 and ( > 0)).'
Proposed rule
The rule should allow ListItem.
See the documentation: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-supportcalendarcontroltype#typical-tree-structure
Is your feature request related to a problem? Please describe.
Today, we receive anecdotal feedback that the patterns UX is not intuitive.
Describe the solution you'd like
We want to improve the overall patterns UX so that it's easy to use even for complicated patterns such as Text Pattern.
Describe alternatives you've considered
We can write extensive documentation, but this is just the first step.
Additional context
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.