Git Product home page Git Product logo

vmware-clarity / starters Goto Github PK

View Code? Open in Web Editor NEW
19.0 10.0 7.0 637 KB

A collection of starter applications built with Clarity. Each starter project contains minimal default configuration and code to run and develop an application for a specific technology.

Home Page: https://clarity.design

License: MIT License

JavaScript 3.61% TypeScript 43.12% HTML 50.47% SCSS 0.75% CSS 0.34% Vue 1.70%
clarity web-components design design-system ui-components starter-kit starter-template react angular vue

starters's People

Contributors

coryrylan avatar hippee-lee avatar kevinbuhmann avatar steve-haar avatar vmwghbot avatar williamernest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

starters's Issues

angular datagrid row dom performance

feat(grid-demo): add angular virtual scroll demo #23
fix(grid-demo): maintain keyboard navigation in virtual rows directive (and add rendered range event) #27
fix(grid-demo): set aria-rowcount and aria-rowindex for virtual rows #44

Lazy Load Rows: range selection doesn't work until scroll event

Steps to reproduce:

  1. go to the /angular/final-demo demo
  2. select the first row
  3. hold the shift key and click and click the 3rd row
  4. notice that rows one and three are selected, but not row two (this is unexpected)
  5. unselect all rows
  6. scroll the table
  7. select the first row
  8. hold the shift key and click and click the 3rd row
  9. notice that rows 1 - 3 are now selected as expected

This bug is not present if you remove the lazy load rows feature.

Row DOM Performance: various keyboard shortcuts don't work

From Amy Li

The datagrid keyboard command Ctrl+End on windows and ctrl+fn+right arrow on mac no longer goes to the last cell of the last row. People who use keyboard-only will not be able to get past the table unless they tab the checkbox controls on every row. This is an issue as there can be thousands of rows with checkboxes to tab through.

Row DOM Performance: all demos should default to pagination

From Amy Li

Allow users to switch between pagination Datagrid and lazy loading for those who need to navigate a few a time or jump to a specific row.

We are concerned with the accessibility around removing pagination. Therefore, we believe that all demos should start with pagination, but should have an option to remove pagination.

Row DOM Performance: browsing the table with virtual cursor does not load new data

Voice Over has special virtual cursor mode, in which you can browse a table/grid with a combination of VO-special key and the arrow keys. Default Voice-over key combination is "control-option". A common alternative is the Caps Lock key.
When this mode is activated, keyboard events do not reach the JS layer anymore, and the datagrid programmatic cursor gets out of sync with the virtual cursor.
Virtual cursor does generates small scroll events and does load new data, but does not recognize that there are new rows in the grid, so it jumps to either 1st row, next column, or to the beginning of the grid.

migrate core apps directory

Migrate the core apps that are left from the repo upgrade. This includes the following:

  • angular grid demo
  • react grid demo
  • clr-ui-shim demo

Since these are not minimal starters like the rest I'm thinking we have a /advanced directory for these type of demo apps

vmware-clarity/core@f3d4c87

Row DOM Performance: select all doesn't work

Steps to reproduce:

  1. go to the /angular/final-demo demo
  2. click the select-all checkbox
  3. notice that the visible rows are not selected
  4. notice that the select-all checkbox works very unexpectedly in other cases too

This bug seems to be due to the Row DOM Performance feature.

Column Ordering: unexpected/invalid heading controls

From Amy Li,

Users can only tab to sort control and arrow keys to use the drag and drop. This is not expected behavior. Related to invalid controls in header issue VPAT-2938.

The new drag and drop feature will add to this existing issue VPAT-2938 of invalid heading controls (filters and resize column). Only sort is supported in ARIA specs. Because it is not valid ARIA to add controls in table or datagrid headings we recommend providing controls outside of the datagrid for keyboard and screen reader users, this can be accordion or dialog with datagrid editing options. Mouse users can still drag and drop or chose to use the alternative controls. The above issues for people who use screen readers or keyboard-only will be avoided with this implementation.

Screen Reader Columns: approach doesn't work in screen reader browse (virtual cursor) mode

From Amy Li

Screen reader announcement is improved in focus mode but not in screen reader browse mode (aka virtual cursor), which still reads all the heading content when navigating grid cells and the core issue of having heading controls other than sorting is not fixed. ARIA datagrids only allow sorting controls in the headings anything beyond that will cause screen reader issues. Please see Santina's recommendations in this Jira ticket under Resolution Details. This is also related to the same VPAT-2938 issue mentioned above. Note that because it is out of spec it may fail other assistive technologies that aren't covered here and can cause unforeseen issues in future updates of ATs or browsers.

This approach may be fundamentally flawed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.