Tas ir saskaņots ar semantisko nodomu: native elementi sniedz iebūvētu tastatūras un ekrāna lasītāja uzvedību, un atdalīšana "rīcības" un "navigācijas" novērš daudz pieejamības parādu. Kad jūsu "poga izskatās kā saite" ir atspējota, kā to īstenojat, lai tas paliktu pieejams (ieskaitot tastatūras un ekrāna lasītāja uzvedību)?
Frontend
Tas ir pragmatisks pieejas — tokeni un konsekventais ietvara modeļi novērš "vienreizējas" labojumus un padara lēmumus par saskaņošanu auditējamus Storybook. Kā jūs izlemt, kad vizuālais "spiediens" (piemēram, jūsu -2px pielāgojums) pieder kā globāls tokens pretstatā komponenta ierobežotai izņēmumam, un kā jūs pārvaldāt šo lēmumu?
Tas ir stabils pamata balstīts skaidrojums, un man patīk, ka jūs atšķirat vizuālo centru no tipogrāfiskās pamata līnijas; elastīga centrēšana bieži ir visstiprākā pieeja starp fontiem. Kad dizaina specifikācijas ir neskaidras (piemēram, ikonas un teksta izlīdzināšana atšķiras starp pogām, ievades laukiem un izvēlnes elementiem), kā jūs definējat un dokumentējat vienu izlīdzināšanas noteikumu dizaina sistēmā, lai komandas to īstenotu konsekventi?
Saprotu, Dmytro. Mazs piezīme: tu teici "kļūdas" — vai domāji "pīles"? Reālajā lietotnē, kā tu izskaidrotu šo uzvedību kolēģim, lai viņi nejauši nesabojātu pieejamību, optimizējot veiktspēju?
Es saprotu — jūs aptverat vizuālos elementus, kā arī tastatūras un SR uzvedību, un noņemt to no tabulācijas secības bieži ir pareizais lēmums deaktivizēta līdzīga saite. Kad īstenojat šo "deaktivizēto saiti", kādu precīzu ARIA/atribūtu modeli izmantojat ekrāna lasītājiem (piemēram, `aria-disabled`, lomas izmaiņas), un kā saglabājat paziņojuma konsekvenci pārlūkprogrammās?
Dmytro, kad veido pielāgotu pogas komponentu, kuru semantisko HTML elementu izvēlaties pēc noklusējuma un kādos gadījumos izmantotu kaut ko citu?
Ko meklējat savā nākamajā lomā?
Kura sasnieguma pēdējā gadā jūs visvairāk lepojaties?
Labi—uzskatot to par tokenizētu izkārtojuma jautājumu un paļaujaties uz `gap`, tas parasti ir visvieglāk uzturams veids, kā saglabāt ritmu konsekventu starp komponentiem. Kā sasniedzat pikseļu perfekti tipogrāfisku izlīdzinājumu (kapakmeņa augstumu/bāzes līniju) starp SVG ikonu un tekstu dažādās pārlūkprogrammās—paļaujaties uz `line-height`, `vertical-align`, elastīgu izlīdzinājumu vai kaut ko citu?
Visbeidzot, CSS ir pamata tehnoloģija priekšējā izstrādē, kas ļauj izstrādātājiem kontrolēt tīmekļa lietojumprogrammu izkārtojumu, stilu un vizuālo noformējumu. Kas ierosināja CSS un kā tajā gadā tas tika pirmo reizi ieviests?
Īsi pastāstiet par steku, ko izmantojat ikdienas darbā.
Tas ir skaidrs pamatojums, Dmytro, un tava 'izslēgto elementa izlaist' noteikums ir labi formulēts. Vai vari aprakstīt konkrētu situāciju, kurā šis pieejas veids varētu mulsin lietotājus, un kā tu pielāgotu formulējumu vai UI, lai tas būtu skaidrāks?
Skaidrs skaidrojums, Dmytro—laba delegēšanas un "tuvo" pārbaudes izmantošana; jūsu plūsma ir viegli saprotama. Kad jūs sakāt, ka vadāt tastatūru "tādā pašā veidā", vai jūs varētu man detalizēti paskaidrot, kurus taustiņus atbalstāt un kā novērst fokusu no deaktivizētajām saitēm?
TypeScriptā, kāda ir praktiskā atšķirība starp `interface` un `type`, un kad jūs vēlētos izvēlēties vienu pār otru?
Nākamais solis: veidojot publiskas komponentu bibliotēkas, vai jūs atklātu props kā `interface` vai `type`, un kā jūs sverat paplašināmību (apvienošanu/augmentāciju)
Aprakstiet grūtu kompromisu, ar kuru jūs saskārāties.
Tas ir saprotams—publiskā līguma slēgšana novērš neparedzētas API novirzes, un diskriminētās vienības ir spēcīgs iemesls izvēlēties `type`. Kad jūs īstenojat šo pogu, lai tas būtu pikseļu precīzs un atsaucīgs, kā jūs pārvaldāt atstarpes un izlīdzinājumu, lai ikona + etiķete paliktu vizuāli konsekventa pār pārtraukumiem un fonta izmēra izmaiņām?
Lūdzu, iepazīstiniet sevi un īsi pastāstiet par savu pieredzi.