Material Design for Angular 2
This is the home for the Angular team's Material Design components built on top of Angular 2.
The alpha has begun! See the changelog for more information.
You also might want to check out our Getting Started Guide if you're building your first project with Angular Material 2.
During alpha, breaking API and behavior changes will be occurring regularly.
Check out our directory of design documents for more insight into our process.
We are still getting our CI infrastructure (tests, lint etc.) set up, as well as building out
the core library pieces that components will be built upon. If you'd like to contribute,
please look through the issues (which should be up-to-date on who is working on which features and
which pieces are blocked) and make a comment.
Also see our
Good for community contribution label.
The goal of Angular Material
Our goal is to build a set of high-quality UI components built with Angular 2 and TypeScript, following the Material Design spec. These components will serve as an example of how to write Angular code following best practices.
What do we mean by "high-quality"?
- Internationalized and accessible so that all users can use them.
- Straightforward APIs that don't confuse developers.
- Behave as expected across a wide variety of use-cases without bugs.
- Behavior is well-tested with both unit and integration tests.
- Customizable within the bounds of the Material Design specification.
- Performance cost is minimized.
- Code is clean and well-documented to serve as an example for Angular devs.
Browser and screen reader support
Angular Material supports the most recent two versions of all major browsers: Chrome (including Android), Firefox, Safari (including iOS), and IE11 / Edge
We also aim for great user experience with the following screen readers:
- NVDA and JAWS with IE / FF / Chrome (on Windows).
- VoiceOver with Safari on iOS and Safari / Chrome on OSX.
- TalkBack with Chrome on Android.