Giter VIP home page Giter VIP logo

page-constructor's People

Contributors

3y3 avatar aapolkovsky avatar aeksandla avatar d3m1d0v avatar dc-romankarpov avatar deemsk avatar feverqwe avatar gorgeousvlad avatar goshander avatar gravity-ui-bot avatar imsitnikov avatar korvin89 avatar kyzyl-ool avatar lakate avatar lunatic174 avatar marginy605 avatar melikhov-dev avatar moki avatar nikitacg avatar niktverd avatar pavel-klimov avatar qradle-yndx avatar shuvalovpavel1995 avatar vitaliidc8 avatar yuberdysheva avatar

Stargazers

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

Watchers

 avatar

page-constructor's Issues

Questions block

  1. Each question element should be accessible via TAB navigation and expandable on Enter
  2. Each question element should have aria-expanded attribute set correctly

add `indent4XS: 4px`

We have many places with paddings or margins equals 4px. I think we need to create indent4XS: 4px css-variable

Incorrect Item Width in "promo-features-block" when using SSR with {isServer: true}

Description

The block type "promo-features-block" experiences a width-related issue when SSR is utilized with the configuration ssrConfig = {isServer: true}. Specifically, the width of the items within this block remains at 33% across all screen sizes, neglecting responsive behavior.

Expected Behavior

On smaller (mobile) screens, the width of each item within the "promo-features-block" should adjust to 100% to accommodate responsive design principles.

Current Behavior

When SSR is enabled (ssrConfig = {isServer: true}), the width of the items persists at 33%, even on smaller screens, counteracting mobile-responsive functionality. When SSR mode is disabled or not used, the rendering on small screens appears as expected, adhering to the 100% width for item divs.

Steps to Reproduce

Enable SSR with the configuration ssrConfig = {isServer: true}.
Observe the "promo-features-block" on various screen sizes.
Note the persisting width of 33% for item divs on smaller screens, rather than the expected 100%.

Possible Solution

A preliminary assessment does not suggest an immediate solution and requires further investigation into how SSR, or the specific isServer: true configuration, is impacting the responsive CSS or JS logic.

Context (Environment)

Browser: [e.g., Chrome, Safari, etc.]
OS: [e.g., iOS, Windows, etc.]
Screen Sizes: Small (Mobile) screens

Detailed Visuals

Without SSR (Correct Behavior):
oie_7211815oHrQZbFE

With SSR (Incorrect Behavior):
oie_7211729g6Vk5Fkh

The page-constructor package breaks layout in the app.

The page-constructor package includes bootstrap css styles which contain global styles that affect every html element. This breaks the existing layout in the application. Can we move these styles inside page constructor block selector?

*,
*::before,
*::after {
    box-sizing: inherit;
}

Move story and template assets to project repo

Move all story and page editor templates images from s3 bucket to project repo.

  1. Move stories images to project repo, add loader to strorybook's webpack

  2. For page editor templates convert all assets to base64 or move them to repo as files and handle breaking change

Tabs block

Should mark currently opened tab with aria-current=”true”

External links

Need to state somehow whether a link leads to external resource or not.

The components where this feature definitely should be:

  1. Content sub-block
  2. ExtendedFeatures block
  3. ShareListItem (components)

Probably, there are other link elements that should be marked as external

Slider block

  1. For buttons “Next/Previous“, add aria-label attribute for Slider component

  2. For lower page ("dot" buttons) need to add aria-label attribute for each page. E.g.: “Slide 1 of 3“, “Slide 2 of 3“, “Slide 3 of 3“. For the second one also need to set aria-current=”true”

aria-describedby for links

Need to provide additional description (adding to aria-label or aria-describedby) for links used in the following components:

  1. Content sub-block

  2. CardBase

  3. aria-labelledby for each mark in Table’s cell, related to legend

  4. ExtendedFeatures block

Media component

One proposes the following changes to image's alt attribute as part of accessibility improvement:

  1. Currently all alt attributes are set as "Image alt". By default, they should be empty.
  2. Each component / block, using the alt attribute, should have an opportunity to set custom alt value from props
  3. Add aria-label="Close" for close button in FullscrrenImage

[a11y]: aria-label attributes

There are some elements that should have aria-label attribute for better understanding the wbsite content with screenreaders. At least:

  1. The cross icon, appearing after some value entered in the search field, should be labelled with aria-label

  2. Add aria-label="Close" for close button in FullscrrenImage

  3. Need to set aria-label for Play, Pause and Mute buttons for Media component when controls=”custom”. Not forget that aria-label is different for different languages.

Remove `disableCompress` flag

Remove disableCompress global flag, seems like it is not related to pc logic. Use custom Image component as alternative

Semantic tags

Need to use semantic tags correctly in the project. Here are the suggested changes:

  1. Need to have an opportunity to change the title level here and here

  2. Should use h3 tag instead of h4 for pc-title-item__text here

  3. Use h3 tag instead of h4 here

  4. ExtendedFeaturesBlock: as heading tag in header element is h2, the next used heading tag should be h3 to meet the accessibility requirements. If heading tag of entire block is not used, each item should use h2 tag instead of h3.

Добавить export у компонента Navigation

Сейчас, чтобы использовать Navigation, нужно обязательно прикидывать его в PageConstructor, хотелось бы использовать этот компонент отдельно.

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.