Coder Social home page Coder Social logo

finos / a11y-theme-builder Goto Github PK

View Code? Open in Web Editor NEW
31.0 9.0 64.0 182.04 MB

DesignOps toolchain theme builder for accessibility inclusion using Atomic Design.

License: Apache License 2.0

Dockerfile 0.02% TypeScript 78.84% HTML 0.10% CSS 18.12% JavaScript 2.89% Shell 0.03%
accessibility design-systems nodejs react a11y-tb

a11y-theme-builder's Issues

[SDK] Remove design system name from key in serialized object

Problem/Concern

When a design system is serialized and persisted, there are several values that are set to a key. This key has the design system name included.

"colorThemes": {
    "themes": {
        "default-initial-color-theme-instance": {
            "primary": {
                "key": "Sample9/atoms/ColorPalette/cobalt/lm[0]"

For portability and to allow cloning, the key should not include the design system name.

Proposed Solution

[TB] Update color mode selector

Problem/Concern

The color mode selector allows the user to select one of 3 variants of a component: default, white, black.

Proposed Solution

These variants are specified by a css class "white" and "black" on the HTML tag instead of on a parent container.
The meaning of "white" is white foreground color on a dark background.
The meaning of "black" is black foreground color on a light background.
The meaning of "default" is the default colors for the theme.

[SDK] Avatar border properties should be multipler

Problem/Concern

The avatar border properties should be a multiplier instead of pixel value.

Proposed Solution

Change mediumBorder and extraLargeBorder type from PropertyPixelSelectable to PropertyNumberSelectable and update the selectable values.

[SDK] Determine how we centralize docs

Problem/Concern

The base repo has online docs managed via mkdocs. How do we ensure a single code base for docs while allow this repo to have docs directly accessible?

Proposed Solution

  • Centralize all docs in base repo
  • Redirect this repo to the base online docs in README
  • Provide instructions for how to use pandocs to generate HTML docs from the mkdocs source.

[TB] Component popups are not rendered correctly in dark mode

Problem/Concern

Under the components page, the dark mode switch sets the right editor container to darkmode. This works correctly for all components except for those with popups. For these popups, the component is added to a div on body, instead of the container that the popup was defined.

Proposed Solution

[TB] Add hotlinks component

Problem/Concern

The hotlinks component needs to be created and added to Components page.

Proposed Solution

[DOCS] Update all images to be transparent

Problem/Concern

We use Material for MkDocs which supports light and dark mode toggling.

Currently images used across docs (specifically in Overview (/motivation) use a white background and there do not work well in Dark Mode.

Proposed Solution

Update all images to have transparent background.

State Colors not rendering

The states all appear white with black text in light mode and all balck with white text in dark mode in the Theme Builder UI
Screenshot 2023-04-11 at 1 01 04 PM
roblem content]()

  • [link to p

Proposed Solution

[TB] Avatar border not showing

Problem/Concern

The avatar borders are not shown

Proposed Solution

border property for .avatar class needs to be updated. The calc() is multiplying 2 pixel values, which doesn't render the border.

[TB] Create default theme

Problem/Concern

Verify once default theme is checked in to Theme.css:

  • Color themes dropdowns have transparent background. The --surface css variable is not set correctly before adding theme.
  • Button background color is not set.
  • Focusing input fields in ColorPalette page results in white on white border on the field so can't see the field anymore, just the text

Proposed Solution

Dark Mode Elevation Backgrounds

Dark Mode Elevation Backgrounds

Proposed Solution

We need to pass a variable for the dark mode elevation background color for each molecule with an elevation:
i.e. so for example card will need a variable like - dm-card-elevation-bg and to update the css with "var(--elevation-bg-1)" and for the JSON will can just pass along a value from 0-9.

[TB] Accessibility layers dropdown not rendering correctly

Problem/Concern

The layout of the accessibility layers dropdown menu items needs to be fixed.

  • The first item is highlighted but shouldn't be
  • There shouldn't be a visible circle around the checkbox
  • The checkbox is taking up too much space & should be left justified
  • The selected item's text disappears

Proposed Solution

[TB] Dark mode for tooltips not rendered correctly

Problem/Concern

Under the components page, the dark mode switch sets the right editor container to dark mode. For tooltips, the component is added to a div on body, instead of the container that the popup was defined.

Proposed Solution

[TB] Update color palette field as user makes color selections

Problem/Concern

Suggested by @lwnoble. The color picker on the Color Palette page has a small spot where it shoes the currently selected color. Lise would like to make this more noticeable.

Proposed Solution

Lise would like the background of the textfield that shows the hex value of the currently selected color to change to that color and also use the corresponding "on" color when showing the hex value in that field.

[Admin] Getting organized!

Problem/Concern

Need to discuss how the project will be organized including logistics for meetings, triage, milestone definitions and collaborating.

See example missing details here

Proposed Solution

We should consider the use of GitHub Wiki, Projects, and Discussions.

Some well organized projects, like Backstage, include topics such as:

[DOCS] Figma docs

Problem/Concern

Describe how to use Figma with ThemeBuilder

Proposed Solution

[DOCS] Create videos

Problem/Concern

The ThemeBuilder's vision and usage need to be conveyed to the users of the tool.

Proposed Solution

Create one or more videos:

  1. ThemeBuilder application intro and how it can be run (Lise)
  2. How designers can use ThemeBuilder (Evan)
  3. How developers can use ThemeBuilder (Evan)

[DOCS] Update welcome page

Problem/Concern

Update to include simple description & either embed video or link to it.

Proposed Solution

[TB] Implement dark mode

Problem/Concern

Dark mode is not fully implemented for all molecules/components.

Proposed Solution

Add css rules for .darkmode on existing classes as needed to implement the molecules and components.

[SDK] Missing CSS variables

Problem/Concern

Compare generated CSS variables with required list and create any missing variables.

Proposed Solution

[TB] Update Color Selector

The color selector default should use --background and normal color css, the white option should use black background with white color, and the white should use white background with black color.

Proposed Solution

[TB] Dark tertiary shade with text

Problem/Concern

If use dark tertiary shade when building color theme, design system nav bar and buttons have bad “on” colors so text not visible

Proposed Solution

[TB] Add JSON for Buttons.GroupButton.Background and OnBackgound

Problem/Concern

The generated JSON needs the following for both light and dark mode:
Buttons.GroupButton.Background and Buttons.GroupButton.OnBackground.
These should correspond to the following CSS variables:
--groupButtonBG, --on-groupButtonBG, --dm-groupButtonBG, --dm-on-groupButtonBG.

For dark mode, the following should be constant.

   "GroupButton": {
      "Background": {
        "value": "{Core-Colors.White.Color}1f",
        "type": "color"
      }

Proposed Solution

Wrong and missing atributes

Things that are wrong:
--backgroundSecondary
--on-backgroundSecondary
—onbuttonOnBlack
—buttonOnTertiary
—onButtonOnTertiary
—gradient-3
—on-gradient-3
--buttonOnGradient1
—onbuttonOnGradient1
--buttonOnGradient2
—onbuttonOnGradient2
--buttonOnGradient3
—onbuttonOnGradient3
--dm-on-background-tertiary

Missing:
--dmhotlinkOnWhite:’’;
--dmhotlinkDecorationOnWhite: '';
--dmhotlinkOnBlack:'';
--dmhotlinkDecorationOnBlack: '';

Proposed Solution

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.