Tai suderinta su semantine intencija: natūralūs elementai suteikia įmontuotą klaviatūros ir ekrano skaitytuvo elgseną, ir "veiksmo" bei "navigacijos" atskyrimas išvengia daug prieinamumo skolų. Kai jūsų "mygtuko panašus nuoroda" yra išjungta, kaip tai įgyvendinate, kad ji liktų prieinama (įskaitant klaviatūros ir ekrano skaitytuvo elgseną)?
Frontend
Tai yra tvirta pagrindo pagrįsta paaiškinimas, ir man patinka, kad skiriate vizualinį centrą nuo tipografinės pagrindo; lankstus centravimas dažnai yra patikimiausias požiūris tarp šriftų. Kai dizaino specifikacijos yra neaiškios (pavyzdžiui, ikonų ir teksto išlyginimas skiriasi mygtukuose, įvesties laukuose ir meniu elementuose), kaip apibrėžiate ir dokumentuojate vieną išlyginimo taisyklę dizaino sistemoje, kad komandos ją nuosekliai įgyvendintų?
Tai pragmatiškas požiūris — žetonai ir nuoseklus apvalkalo modelis neleidžia "vienkartinių" pataisymų ir leidžia audituoti sprendimus dėl išlyginimo Storybook. Kaip nusprendžiate, kada vizualus "stumtelėjimas" (kaip jūsų -2px koregavimas) priklauso kaip globalus žetonas, o kada kaip komponento apribota išimtis, ir kaip valdote šį sprendimą?
Supratau, Dmytro. Maža pastaba: sakėte "klaidos" — ar turėjote omenyje "strėles"? Tikroje programėlėje, kaip paaiškintumėte šį elgesį komandos nariui, kad jie atsitiktinai nepakenktų prieinamumui, optimizuodami našumą?
Suprantu — jūs apimsite vizualinius elementus, taip pat klaviatūros ir SR elgseną, ir ištraukimas iš tabuliacijos tvarkos dažnai yra teisingas sprendimas neaktyvaus panašaus į nuorodą. Kai įgyvendinate šią "neaktyvią nuorodą", kokį tikslų ARIA/atributų modelį naudojate ekrano skaitytojams (pvz., `aria-disabled`, vaidmenų keitimai), ir kaip išlaikote pranešimo nuoseklumą naršyklėse?
Ką ieškote savo kitame vaidmenyje?
Dmytro, kai kuriate pritaikytą mygtuko komponentą, kurį semantinį HTML elementą pasirinksite pagal numatytuosius nustatymus ir kokiais atvejais naudotumėte ką nors kitą?
Galiausiai, CSS yra pagrindinė technologija front-end kūrime, leidžianti kūrėjams valdyti tinklalapių išdėstymą, stilių ir vizualinę prezentaciją. Kas pasiūlė CSS ir kuriame metais jis buvo pirmą kartą pristatytas?
Kokiu pasiekimu per pastaruosius metus didžiuojatės labiausiai?
Tai aiški priežastis, Dmytro, ir jūsų 'išjungtų elementų praleidimo' taisyklė yra gerai suformuluota. Ar galite aprašyti konkrečią situaciją, kurioje ši prieiga gali supainioti naudotojus, ir kaip jūs pakoreguotumėte žodyną ar UI, kad tai būtų aiškiau?
Geras—tarkim tai kaip tokenizuoto išdėstymo klausimą ir pasikliaujate `gap`, tai dažniausiai yra pats palaikomiausias būdas išlaikyti ritmą nuoseklų tarp komponentų. Kaip pasiekiate pikselių tikslumo tipografijos išlyginimą (kapo aukštį/bazės liniją) tarp SVG piktogramos ir teksto skirtinguose naršyklėse—pasikliaujate `line-height`, `vertical-align`, lankstiu išlyginimu ar kažkuo kitu?
Trumpai papasakokite apie savo kasdienėje darbe naudojamą staką.
Aiški paaiškinimas, Dmytro—geras delegavimo ir "artimiausių" patikrinimų naudojimas; jūsų srautas yra lengvai sekamas. Kai sakote, kad tvarkote klaviatūrą "taip pat", ar galite man išsamiai paaiškinti, kuriuos klavišus palaikote ir kaip užkertate kelią fokusui nukristi ant išjungtų nuorodų?
Sekantis žingsnis: kuriant viešą komponentų biblioteką, ar atskleistumėte props kaip `interface` ar `type`, ir kaip vertinate išplėtimą (susijungimą/augmentaciją)
Aprašykite sudėtingą kompromisą, su kuriuo susidūrėte.
TypeScript'e, koks yra praktinis skirtumas tarp `interface` ir `type`, ir kada pasirinktumėte vieną kitą?
Tai turi prasmę—viešo kontrakto uždarymas išvengia nepageidaujamo API nukrypimo, o diskriminacinės jungtys yra stiprus priežastis pasirinkti `type`. Kai įgyvendinate tą mygtuką, kad jis būtų pikselių tikslumo ir atsparus, kaip tvarkote tarpus ir išlyginimą, kad ikonėlė + etiketė išliktų vizualiai nuoseklios per pertraukėles ir šrifto dydžio pokyčius?
Prašome pristatyti save ir trumpai papasakoti apie savo patirtį.