finos / a11y-theme-builder Goto Github PK
View Code? Open in Web Editor NEWDesignOps toolchain theme builder for accessibility inclusion using Atomic Design.
License: Apache License 2.0
DesignOps toolchain theme builder for accessibility inclusion using Atomic Design.
License: Apache License 2.0
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.
The color mode selector allows the user to select one of 3 variants of a component: default, white, black.
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.
Text color for the radio buttons are not being updated correctly when switching to dark mode.
There should only be one row if I only have a primary color
There should only be two rows if I have a primary and a secondary color and they are different
There should only be three rows if primary, secondly and tertiary are different colors
Add Color Mode Selector to primary & secondary tabs & radio & check boxes components
This is deferred.
The overlays are deferred for MVP, but need intro text.
In the Hotlinks atom the radio buttons are not editable & below them an error icon is displayed but no message.
Implement the divider component with a color mode selector.
Merge .gitignore
in root and /code
then delete the one in /code
.
The avatar border properties should be a multiplier instead of pixel value.
Change mediumBorder and extraLargeBorder type from PropertyPixelSelectable to PropertyNumberSelectable and update the selectable values.
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?
pandocs
to generate HTML docs from the mkdocs source.Switch and slider thumbs need to be restyled
The wide image for the list components is missing.
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.
The hotlinks component needs to be created and added to Components page.
Need an image to use for avatars so border color can be seen.
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.
Update all images to have transparent background.
The switch and slider components are missing background.
Review & align JSON variables for Figma.
The gradient text sample on the color theme editor is small and needs to be styled.
The avatar borders are not shown
border property for .avatar class needs to be updated. The calc() is multiplying 2 pixel values, which doesn't render the border.
--elevation-bg-0
--elevation-bg-1
--elevation-bg-2
--elevation-bg-3
--elevation-bg-4
--elevation-bg-5
--elevation-bg-6
--elevation-bg-7
--elevation-bg-8
--elevation-bg-9
The colors should be the selected dark mode back ground with white overlayed on top in increasing brightness.
Verify once default theme is checked in to Theme.css:
Review content of CONTRIBUTE.md
Review inline comments for missing data.
Update any/all missing data / comtent.
Write content for this section.
Add content to docs needed for hackathon and MVP.
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.
Darkmode dropdown, hover color, border hard to see if theme palette is red
The layout of the accessibility layers dropdown menu items needs to be fixed.
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.
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.
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.
Need to discuss how the project will be organized including logistics for meetings, triage, milestone definitions and collaborating.
See example missing details here
We should consider the use of GitHub Wiki, Projects, and Discussions.
Some well organized projects, like Backstage, include topics such as:
Describe how to use Figma with ThemeBuilder
The ThemeBuilder's vision and usage need to be conveyed to the users of the tool.
Create one or more videos:
Update to include simple description & either embed video or link to it.
Dark mode is not fully implemented for all molecules/components.
Add css rules for .darkmode on existing classes as needed to implement the molecules and components.
Compare generated CSS variables with required list and create any missing variables.
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.
If use dark tertiary shade when building color theme, design system nav bar and buttons have bad “on” colors so text not visible
The colors for the --primaryDarkBG and --secondaryDarkBGshould be darker versions of the primary-900 color and they just look grey
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"
}
The current generation of JSON code in src/code/JSONGenerator.ts
in the getGradientBackgrounds method does not take dark mode (i.e. !lm) into account, but it should.
Fix the light mode --chip and --on-chip colors based upon calculations.
The dark mode --dm-on-background color needs to be set as rgba(255,255,255,0.6)
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: '';
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.