Skip to content

Before submitting a Pull Request

Atanas Popatanasov edited this page May 14, 2019 · 2 revisions

Pull requests are the preferred way to contribute to UI for UWP. Any time you can send us a pull request with the changes that you want, we will have an easier time seeing what you are trying to do. But a pull request itself is not usually sufficient. Each pull request should bring some context and purpose with it, and it should be done against specific branch.

Before You Start

At the time you submit a Pull Request, it will be checked if you’ve signed the Telerik UI for UWP Contribution License Agreement to confirm you've read and acknowledged the legal aspects of your contributions. If you haven’t, you’ll be prompted to do so. The UI for UWP team cannot accept pull requests from users who have not signed the CLA first.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

After the agreement is signed please, check whether the request meets the code requirements.

Quality insurance for pull requests

We encourage developers to comply the following guidances when submitting pull requests for controls:

  • If new control is added it must be usable and efficient with keyboard only - that enable users to accomplish basic app scenarios by using only the keyboard.
  • Tab order must be logical and in accordance to set tab indexes - we recommend the use of arrow keys as keyboard shortcuts for navigating among child elements, in cases where the child elements have a special relationship to each other.
  • Focused controls must be visible - an indicator should be visualized when the control gains focus.
  • For UI elements that can be invoked, implement keyboard event handlers for the Spacebar and Enter keys.
  • Do not use custom colors but instead rely on theme colors so high contrasts themes can be used with your control - to be considered accessible, visible text must have a minimum luminosity contrast ratio of 4.5:1 against the background. Exceptions include logos and incidental text, such as text that is part of an inactive UI component. Please, check this for some more detailed information.
  • Add AutomationProperties.Name on all new controls to define what the controls purpose is.
  • Test the screen reader experience of your UI with the Narrator (Launch Narrator [WinKey+Enter], then CTRL+F12). Check if the information is sufficient, meaningful and helps the user navigate and understand your control

You can find more information about accessibility here

Naming conventions