From 106ffbeece8cc0ca396dcdb5e4f49327ce946872 Mon Sep 17 00:00:00 2001 From: Matvey Romanov <38384967+ra1nbow1@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:42:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B4=D0=BE=D0=BA=D1=83=20=D0=BF=D1=80=D0=BE=20?= =?UTF-8?q?`prefers-contrast`=20(#5528)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Добавляет доку про `prefers-contrast` * Редачит * Добавляет демку, картинку и дополняет текст * Красит схему * Вычитывает --------- Co-authored-by: Tatiana Fokina Co-authored-by: Svetlana Korobtseva --- .../demos/dialog-window/index.html | 128 ++++++++++++++++++ .../images/prefers-contrast.png | Bin 0 -> 32939 bytes a11y/prefers-contrast/index.md | 79 +++++++++-- a11y/prefers-reduced-motion/index.md | 1 - 4 files changed, 192 insertions(+), 16 deletions(-) create mode 100644 a11y/prefers-contrast/demos/dialog-window/index.html create mode 100644 a11y/prefers-contrast/images/prefers-contrast.png diff --git a/a11y/prefers-contrast/demos/dialog-window/index.html b/a11y/prefers-contrast/demos/dialog-window/index.html new file mode 100644 index 0000000000..bf84cf176f --- /dev/null +++ b/a11y/prefers-contrast/demos/dialog-window/index.html @@ -0,0 +1,128 @@ + + + + Демонстрация работы — prefers-contrast — Дока + + + + + + + + + + + +

Наши правила

+

Не обижай, не обижайся, всегда носи с собой шариковую ручку и фотографию черепашки.

+
+ +
+
+ + diff --git a/a11y/prefers-contrast/images/prefers-contrast.png b/a11y/prefers-contrast/images/prefers-contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..6c28094c9ecabf4ef67be8823e5bc409d00cd374 GIT binary patch literal 32939 zcmdSBbzD^6yDvU;*C0rD2_qrWB}fWLNDMtlNh?T6&LAiaB1lMw(nCuRDBazlAl={zLT05{E7<{wYLVA$$ee>q#cwvg`0|O+RN6D>ZGc_9Zb` zBgYsl>-l15qMm4_m^fA3S`hp)DWYQGQXqG___Zjq9Yws9jz-6&0kHPrC&EC1;{NrW znJF+h`lS6W?qkBq&C`>^6R)~0!Jt0#^HGe1homb&t=;$um-LWl*e2IIl4lS>*|lcFJQ3qL** zf7Kw0k^Fga6I(m(p3^fof^vxa_Q)fbNX~_%_obbKJ*LeIoCgHSBR7*{3;OXrlNn$) zFgW)60-|h8Abt?1@+(*{0^?;MhM9N!C$rj*X5&|T4yS#+y}dW41ii#K68-+YYKz&1;IrZzkNfxY8|q`a&N_+S)v;n`hp*= zO?3&pDyhvY$g@lqwuxx)euMK^v#;Q7w4k-XQ(q0RFaBHmYAi!$5Xjd>MP63Nb8530 z4%h@JApI)uZXWt=^Pl^`j(9gp3M4D zAP|cR60k-C%>%ushM-_*YU8LUSdV&OXxId>T5LUT&~t18ekf>I2>BoBTB+~g$ZfuV z*gtad>N;-24)*b{QCr_NT;Sw!hhm8Okq~2D!LN;Y8@@83MGE(G+?U1*g-+SyA;BqwjI|8CMqtE%+9e34e?eUd7* zy~wImwlYzv8c9t5z@FDs@{P`QxyMeUZ(A;_SV!$^%LW&(nyke`Ta(FZXBqz_h?JD` z+-m-OV^IksqsSBe=eD+aB{!FoZu;CQeLar8-jo-it*yb>CgY_RLP7-=7|F~?5EEe= z23!HgEJ+4J8MR<+T%7Re<3pB~7^SIVEMN`Zob5H3db+xI)9C} z$i~x@+Si>4p6vQ1>m8$`i7}~CcdJIugD2Nmn zkP8cvG!+;0({Tm8yE8K6;$%xw`OD(R4t8L6rVSrhJz$fpc^EhkJ2p}IUk8-7IXT^E zcYb$zpM=}m4P_my9F?9JRbO969CVw8n40KO`aAVso$eiN6r)1>t4lnuFMmBg+nf?I zNR;j>DKAyQy^Br&LN}KrgT$Sr>L>tLtb(q3TfRsr8 zMM~4eIC|aUZf<&N(0vLhJA0aRr&m!?4OV<)VNz0P*y3ubBR%xsATSVYb52?>Rc&o# zVPRk(>0wPfKnxGuKB-H2JI#ti?wde6QYGfJFZaGTOifK~J6$C*D8S5J zF)2ZqEuKtBT*zBabdaa&YnXw|#fL8_8X9ii_;jzc{TrgpPIDVGLk)wlyb@02HQlVRc?L{?6=-INrN9V5(|IvMC?$6Nbz7`GIA%%8dqhbvDd9o8 z@*t3N5OJa6V-k;IokP28RBdg(o{)&2F!Fj1@-Xt~&^(t70c+;}m4WkgW<~bSWxhhlkgV5%&+~rk+GOo)8nQ6_%IJ&U{pm z&51d&IV0=%V|#u7;vq9IR87hJeI%tu*-P{aW}O~FbgxB_n?kSS{Idp2O5VM5F%Vqd z+}!R<-94;mXsG3WRax=+^__Ma!;KALa#oM|xvFX5s{10LuVL!ym4>mgvo;rJUM`vC zG}K<+7pGLT8<2bG)PKy#>u)pK4NH-D2qFbNr-B}v(S&XC$nWI7$G=>m-lcwo3I}PD zLv7H*)X~y8kbRhx$>@*NVJUbJVXS~8lsGxm0Usm;cjG`#+yU94Z>Yga?}0`z#}ZM` zpMk#O6$-*zbN~N3KsR;YNWcbx-l9>RibP=bS=s99AVEX-HEltj#|!CJ;EX1ejCd!h}mvcm*%-W0BDN_=E8kxIt~0 z1f-CFEt>Z_pm01&CMalHh%^sG^@pWZ_DtGn{D0_h7=M(F4pT#dn$ahU;mTO31Q;3u z3u%H8gC9`Z0h{&i^S&yNYADBZWO={f863iPlx0_GqR&^Fjf1Cyr<=!%C7Uz)B!}?_ z4XervOa+Jhuedp$n)#VWf%u_VrRh}&#=)?|blf9tl1$w7=Er<*bhYY}+Fd7wHdgf< zp&K_IcGY!)&U3V$G6~j#{(g={<`5{8yh`Whr0eo~mU6d^tBZ_*B%uYqXQm8VBtgO&ILFHp}`N}}5k<%PrG&(WHJoy9IKLLpyUt2uPx+x|PB^M}G?Lo8NS zOZ!U;e2r#wuz0 z>R0=%qS`Yc0RM)KSfatDOmG002m(oRLI+=HMD=9ZZf(6I2~+vGKDzfRDWjpG$?Q%< zOpNDeYxNv#?Ap3kHhxLEFqO%Hm)pjTIe{!$#g*gh%Rm_ZlLj{)m@>=-4g(Zx_cQFi z$<$1tZD3%DS=hbSNP0hi`;G2TJ9Bvat$S~Ze1Rd2F`D;9O`U6h-sDyOAz1PrFb8L6 zQMGrBfq@(2Vd#|iyOy4&e)Q5SDkD}34n{Or+6NI`gD!d!%dPjGc^@kq=qcj(zW(^l zzv+tj+*>8&V?=~%d~~6dXLRQPVS#>BQI52tC4rNgy_cbMphduJ`U z?>RNNoM?{rEPnl*lQON$r57KWcV24c-+ZUA4&^l+InsP_U|svf{?}YCbVbF)%CDnI z8v%XW=kxcfor1ngW*$Hj%74z7f5b~IFR+INWGxPEQfO|cqw|{7`bj0~Z0fZq&5j#3 z%#XSyi;_Y>pi?E%CQJlYGXf@y1Q>S50GT;BWvK3bsvcFFfbOc z{9|!s_v;d!=)f>}$Zwa@gdU6Q*t!NOVv-H3IE?+#sk`Q^mEU>vpQc5& z3ptMSGB{bi%5=#GbIPnMx(a&d9|eoN5nB*U9vA{>&T(fdZ+JTm@H zPER=u05upbMY8O_yD+%_;yxVI%~le<@4l=iY`-)bdOXM)iVBS{^I3_M>h?a-j&-&- zO88QJVuQ%B?N1vvxom-xbH4p~dg{f4K}TV>=;i7A+Hp@rQOV2y#Z;-qp*M%c{5_qm zC`Ma((|19JNJYg!g`94Y)+A1#ojVxDt zWc8cvAg-SG?~u78q4IwBoDUeam^OgM5*F z{ze?MpyfPQ;ZKIoC=-LLbzoWZOF!}W$jvS2`%JnZbv&9br2dK1LLp_LS#YyGHKRt3 zXOQG{rTy`XGis-iOR#GB-ZLjVJNF%FzxvwR+~rHJ$Zz$Z%g#0kKT8>zX;`?7K$!Hf zm5JptZ2C73pc}5+Bn&D3EbL-#KxErR%^0h|(h~dx8Ogxjz=36xxJ=*XQQoLIr%W&^ z@t(Pq1e0qqboTtakVf`c=+*XDT7VI|aSaD}A>5%Y-=b_yR7+Db2fGY)z={Qkk1k}0 zLAXz!4T%R&=vVSWh5K)mQGT+_h8(3 zM+1)X^2$mz|I3iZ_AkB0zUGFGFFbca`mG^-AM`#mXnme+luE8Ve19jns5#gqLXp^G z8+IYMhX_)i)Rb18RVh?~o22=SMzQ4G`F3-4@h!AVHl1~(QxgJlqLywjO2%HmvY!^_ znqTR^Y*cfTguFXCOeeBVf?3hwkd*PS=L|)~LUov%pIe$D2ex4^Nw}T)EiK)j_)JH}y_;L~R@9TB2m%7iDd5?%RzDX32vC1l`FmB&e;J+Gg$7uo5sgbKou3(pjvFeZ`@L0MC)&wA77Y- z(Ui#xHPZ6))2ZVppz?)<4z?lBhOe)<_|5I5!URV?{O0iR*&bkKYke+KGhLtp&U#8# z_!1Ju@XA}p>@hi}X+PNo2Z1TDT`w+a$94`Id-9gSDbLC2`b@BB@T$g2Z0l0~%( z;Y%JR3JRShu({{03_Rx8pmMlc*tg2G9|QCH?{nPKzzU1Nj((U4 z>b`QA1xL*iJ%Ilho|+nKyD)fDf&KZF-9nYO6D}havSMa_NA)c$Yqc{gUWq)iwzhCj z76D7fz7h0)NEL7%^jx-+Fl(Z^-?YvvcKYN#n6?RTY?r^iub*xDVNb8FzJzi5gXf zM=G|J-5LeP29PlMH*_cv?F(pZUS;={!hV@Ich-6_d884XPiHkFOUypSQ}N*8 zQ5MgaE^bY8wdhW6j@%(ZGV6RQ(07f}_@&!;#231dVff8ZPL0j=fd%i z?75+@1OwXIVmYH2ONy+{j|d5Mbbl$&G&e^Q=gQaRH~79-JzP@@c0nC>uvxB=wg1+X zhX^r`rpiQ}#00$hGB&op-uKjALnZImvWMzyXAFc7>dE~iN?m<;SR*Ym!r($3v9Ikb zwZO<&eY%*PA~B^2;rg)Gc}$a?laK#yMYCyOj-r+uthk z_Sg(-4^K`6F#jK0oed?Y-o$zS8_ zkpzB4o;rgk9T@UaQpDk>T192+pqAN7k!1J){sV{ESJ`*iSjCnXmc{Gm9RJb*%75b+ zg(x9(0Yl^ZMg;UPoc)iuyU;>b=NeQ$J)l+|NEXri{O0mo2?~K^FEPxP@(de&nH$kO)qz<%LEpb{M6kckqk78BUE|l{;D%qd9-a<6vx$ssV?{hS$KEAU zSMxa~HI-#3jPFz_l$hyOb@l8C>UZ;OnEv;4L4hoe!hc%y<9#kQ?a?Q1$JxMPk)rsJ30CAQGg3?-r)o4gvHuyhy|=MdSY6@ zuS^&lw16eKmE<6+Y-w}y9m(W!x{fmPnvol@v^(LL_7t~E(vo}-up%L1V0g^8W9>DO z<1vr1|2+=-HPWbEm=uEt$M-B5%IHl=Nwk%5sI~E5^*&o>&QLy~l6&$A=Yi!n`Hq(+R<%}76BQ(X zhTtk_D+jB2?fsZ<+A2?3+V&>WKfQS(YE$yd$bS5!pt8?U?!8PX4~EhqxG0HoTk#V)K#k&?M&wYfkna~D&jabQED#g^&o9^ zy4quhL%r6c#Bdbz=R~Phw88GmfMi3 zCBQ7u3jMFR3R-Qj=pkPP?y?^11zz+ZdDGbwr=5t#sSq){Tb54B_KP zi*u?^)rq9!zTTVU(WmiUSl7*-QL}C%ECLOf&dK%? z)g!k3ebNGdOJ36-33n)~UJMo*yb`#+T8(l2@-#;~y6e@VVmNB%Q3@9{f%@g?%aiTK z)4_7)$NYA!t@h&p6~V(_vNr3zPCrT^4Aqm~8thDvWqo+qR2cgzf>y+ua4t9DxvxGl z_o;eLBX4WfS3ULQ1u5L`Xc(Wv=Gx7_?>ZbTZwhV9)>H32PzC*z|lWTuMQHXo~)-ikkfs6)~7|8BxFCIy2imr((Pfah=-mn!_zuK zp@H)GU`yPS8lgkN4nwqlNS0Df067|vin}ggx&_b6;zfsM=`{NLbGPc@Eh1Qqo3`n! z!UYm4fc<#f?C%-+5~LG5kpl>+-pQ1|AA_xlZH+H|si zRBQZJwfg?CB2(}{1)`%*ZH)t~9N?tTdrq5k^)*J-CFJ~IJ*vKxu(z#m+vM@n)n$=3 zQKRAgPIH?hcn=65-X&7RI4R@OeR7D;AO_k2U@=YzPM4d=zO#^g||@|gNcC;B`?W8?&W ztk`Z`B(e;8Oz{2U#Fbq7A+}pG%pmk;uEXalywc^og7w(sp$FdH0Y9!oBbxv_|azVi3yYHV&Bj&5+2fC58@Wu zoJdQU?WQAbL8r`qrVLMBmJ(GeNWolYDhsr-D(#1D&D4X<_>mPM{TaHOoR)ZDh8n4& zC;Lm^-*G@ikJG<)R7qZ_(yE~x*1qGYo*rMFVDWfZULq*;qxT6YMPBhiUv7-0NQgMI z;5WelvR1<1Da$v6ePY!quCG^$q7kN(qIp-jZ}fu8dT0X4tdCTybDBYNI?vYn&Hhc~ z`C;=Ot0Yq(Qs?SCMSL`0$RZe16_@$i-k9aj*0@{j&%P0#65_;NZB=gET(&g{aob_I zJ5^{c-HXM-TlbrnjMwl-)z$P$&1Bt^xRV`qn}pxcXXC{j(qhTqEM85m$2E zo#%cJk$=K7CZ;VcRNfz2tFyZ$u*YOH?*x&#&%rB zr?h%Mp9IqqTwsm$(S6Dh`&u_r#&4Cx2(FXa1iWN_GAp;%kIVeSnY6IJzS^1A_xa?5%dZWCHsWrf*(@?LxVz;?nJm+% z5w8O^-jOuDar=QAOU$OgAhf1|8o(uwLLit{hpdLO8@z{YbBkvzXimjCt<`NHom#w_ z&t8>|T53`t(p^`6eIGBT7i=36J_p&BvvYpugsRmHBxDb9(FU)+Gee5ze-CDMzcewH zbj|I|^0)MHOA(KIaZxY= z1J(D>O7|fY!6jyQDT(R3!ty5deDuUzpr;l+3JUMNe#te#&RD~n%&BY`NX?bhpiN(^ z-S1U9Cfax#M=xLO4lCa(=T7tA-s3jdW%dh$VVNdmXYkqd3p+DlmRmbc2mcPny6@yY zS3{om&b-NwlmnJLafO%g;71UxsU?CYx}#>5oc#gnFcgcwgWgGxN!IyE&9UCnUm*hdWZc}6$)DY*&-ZbGgsxC3^ub*+e}+F= zF7%g{->L*IvwY3VCOp+V3RPj%lzV(tUNXdY&%UiD{3zj7cZj`k{=UF>x2p4sgv>T` zm+5vP*=K6zrobDEVs1Xao5u$1FM5=bPvA!J{_-|Y$iwd&4cXE?itYiPW`oW@M(EPq z8WI-?xG-vSmidF6ETO`nC7%O!ubluFVO>&^T==@#PT-nK%Hp&87x}*fQ0E^}Nnb(l z@d^V^wokg3d^48{bzzbW)zkCnh)0qs}c% zaMr2yK^Jz(pyk&vr%De#d;Jtvgj>jpPVkcuUde=PWJYoTK$jaXWB@rPC5nwG9Kg$9 zQUb?}?&BzBtVe1vG;{)($N#a*8}I)0nHk*Gz>oq<`4*D&Q~mas=|8zSQDec1V-9+s zY4~;IP??|&4bAaenBb&UM+m#Xj_#g~yLAB`1VEJ>@}lljfb#!??WxYYV{QfvQPh6R zd(e0{q8nUD09tkuYT*NFT^TJsMMpex+&-AYv}6&N5fB1t9t-jmfm)Zly(JduO5-D4 z?KsbQn&>-UwQ}$opIwgy2?~zEM-O{~UcibK;I6&&8E1Y6FUhm1Kan5kTPquZTHrx1 zAh^9}Zqo1d5@Fq!IA9WpLZ?#X#e+1K(s>%Q*I`LSah(%6}-`T z08|l%O3*=OvlPbttqZSFQb1v-TvT9#si-GF^O3gsbwYaH87nZ9!0!*JOdRx$C@BeH zb*_L+{vKb~>~73NCL`#CA@mzOhlH+WY)C)U=mqNpZXZ~V1_M4lXWv*NMR55NlkyR3 z3>d1zg#3T3b?yuoQfFkuSi*(Cu?Cd0F)1njZke(pDZ|F>71)K+{$Z=tENZSeHi@27;MVZPHRnZ@WD`Yg7g?=JP0@G zU#$i?7(Ma9*}?tO>uX<3>7B)I^CjaLR(QZHd`dlXRzV*bbU1Db#X!Xz(J+wPT=cabhR`&YY(cyBnwr)1{ti%rIQniV3$y9OvsSnMlbRJZ=7>(a(3bd*(WAYIebMa>0-0xS{iyoMq{f7;U~KPf+2uaq(b93$_`3T@MchGVObqV|Gi%<7bOj2ICJJxX5G5IvyLGM=i6LzHKzhEH17# zl5wY!<$QLJIIEr)`P(tcx~Zw*K7JEKL3h$jGVbqDu{`7jd5pPNH!VXjaj1&9JVG7vIYtHPb z7WKiS$2BEkzR|$!E#lwnUHk}D`;97UiI1N3m*6QBb~GF;UL9Ga#~m^909j-h6=@aAIP%;^XRbz)x&F->AbIAfEEPf2`zr=6<7 za_6hB_Ak$}?$Vg>UIeKu!rAwP{4z-jUz+%YA|d((xswiuMlbed*3_Ooi^?VYTMqzq zmp$$+#0y0DO63@1BQZ!Z>x^B=5`Dn=Jvkj8h2fmNk&FV@BpX3Q?ibu8@BFKh|v+`maL6z)ip(cNi6cSp0-fWHd(Iabe)ofsYXaosm z={`JisgO)iOR}yWR>|6lFTL{h8-CIBa`p9k|Jk6s#L!g-#|E^rVkU^!h+$EYEUg%z(GOOHChIZBz^Mv}*Xca#T$!;4OCrFcC47~Dd zh;Mzw>QUfB6Jc4NawP7M9=q~j%1FdJ-t1)J@b!`nO~lds~lC)ogqKbr6ICfLmqmz*a2mZWtP&iWTzP-**Wq?@~bkye?Z@ z^8$LH6|lTzKY$v;kN~nbS_eCf0O$yv>O&Xo6}wi5lU(&58FE6afH16 zka&r62Lpxii%gg{v$~oypw7#ib;>~$P!|vb28kT3`HC4SsszA8BuN>}>)5Au(m>nR zO`KCsV*l=6ek}#99v$KRbTTyyF*W`7yIFe4bbjfB{w=IuBl9~P1D)VnDbu-tyT6Wm z11q`OBvIESRp0HRa6&4tv8c)BLA%1Uen*ofFH@_lNcJ$LN3do#+(H8wsGQjn+G?C? zuY#d|ADUp-^OdnDkuEzVdX+V~SqeuzLqD?Wo1BH47|FL!PHVBhpd~Q&&D{Cpqe=%0+7@)XDAC##{b~L)l_lwfWk7 z##O-Hy8nm2EbBP8v1;vM$uWXn#Z~H8oM9m})DshvQeF<$i;IyEae%JsDVGgo^w&zM zzj0(@qUoS?+Zw|qApZUP7I09%AZ0MXHj8_&m+-a-3rT3Wp6uB~mmTQ# ztxA6pu4tVlE^IlA*)?G`;k)@gQylkQKZp~VgpyMuf_O<<(dY4z@59?KD^D>5fAXU7pp7nQ_6Q6jR`x`;z~MA)^4Ya2FL zzZl=xPs1p9?Nns;VbD|>Y3T#QTl*Zs6-*F!hZv;t98@kKgdF>Q@rbgHNYz&3z7U7H zB6@*)?;unxR^vj1^Jo*t73&jG;Wm}xHv0xI1C+fLM~`x_#MYOQ5+{I7AYd|q3W~UF zFKNG)8JMRyo-mwjw`)(%WvPfm(-S(yw|^Cj8rnY8X}2{NN4^cmgKSL1U+EBHE93p+ z>5UkfZ%^9hT38;}RDYX3(!5iQ-O-f09ZF+smRQPa;T4FQGO#H>S1=Jpj@@B|=G?4s z9Kv?rzWj@~ws7_i(&ihI!;R0Jan>*NVU?^W!;ze(HC0mTr?t<{wUzkf>B*oCqgrDR ze<)ydv!z7h6}B;qb_~q~wW2Yp5W<9WvGmq_zS-Q-Gp1?;TPXTVrtly?3RAzDqK$j` zS)|&GU|wDj!zwihDPyL984sSXKP#)ZgeBh7_mYQ&lm=^mfAJLOFKXTsK~B@E zh36F6?Gff$G&xitrR!kZC_}?)?XI0_Y`B%jQ!?e`DK|7nE@ZY)vMYK){Zkm;l~iB? zYMm~yR?*o&Tol9>g4WZPjhgbxZ;eg`32thWe<{-PLJu>To;fH9e~G2HQNw$oO`}g= zBnKZot4S#0@t7m7MCg`3i?9yAGI?((PheH=dU(bOKLgx4=I z$EMyStj!v|)`N{&4k=vWibyd)^PM-ioqwB6(L()xp}2bm8c{AhZT_+}@sVbmvr=Wr z{C9$XEsAZBt`jcG#tEYazKzMP&T4uR^?3RkJh_fiiG0Kbf6F!hjQ#rY-Ovl-u{d6k zCL6kF#1=fqnZWj>sM>j^f5T9H9mb8c9-djjAs9r}=D(hFDc@pteu6a?kyUzT?%2+B zf=j`3fuqO1*hNs7`aIMaZv!2qz!EUrfe)#>Ly~tl`^)jnD6KB6VV-<>Q7{DcAP@C` z%_$k9+l#VyaoS=L)eT=Nw0UI->m)pxLE+!|j_7)Y7QjM=vb{_}4cTMpaAN`h;qp3D z@MEbp)X-J7i9Uw?6D&$8uiTnrUzy#gTBs>KBUF(%jTRdJToQ=#t|>5I(zN5~y~)9r zY6Tc|V7om;yp;;KS}L`KRTdUv##2M-XrS7DLd-}Yy1StTh?Zf1ifgt=V)huqddFE( z*yu9hLfPo{P)CYSgb@6~Y>`xHz>b5x{a{C@p`@T|M_`BxHJ9RI|r!$f-1` zSUAORoC#9s%kpdpTVV?P6 zo$2fMjaVCp>tGO=!e)?de+z+?NXd+CLyFED&2;Qi-#o$7H ziiIYnlY*d2LEN7Y_tCqH?~dqR<(pDKzmn*}DI&_A;>0^O-?inSar@xB7>@!k$5!^H zUM=+7oDda0wf^QzSa^81DYrw0MIMHBClvIQl@Do18T|3x8+Vg#8C!BV`^_giC^3Y# zJNQSrEOwa?@`oYpe%iuHBYd>Owi6Gs&-3a29Wg8dIF=?Cpc3_{%r{#njycOh>?4StNXW5+7S+`+pex>g)^)wRUOC$V0$~$y#wK3<` zbO<5&cL}=7R&BH3D?RZjyHRr;SY9$;M246Ma`pMy{)`Cnvc=~jBnr2%&4C0mn>jor zwDpzk?~$Egm6w!+cpf&th#Vj0OYn7~SV}VGvEuVFWc)9+N?&A_>>Lvniu*+}UPq&7 z?nxlSqf+mk{FZZuF(X0v3V;sKLhqawt$lGWf=M++RKz`th#`jXD1GsSg_ui^^bOc- zzgkkpj~xGEV}48o>5hq&oJ|C#613W!0nmSKNvGlhiAb>~-&YG2sHy;?M zZxwO}TEfKe5_DjRPlzfP80#}*w1)u+>>CM6a|kxH#GNIe9!$b>_}0^l*OaYlK#yW> zwE?4>sDAw^HC>pK5ln^fAuk2=ArSN}#td!IL3PUAHDN~|ffQ0oL6|X6=7FWj56JHl z#Uipfs4q@kg{{YP4^Y@7Zc~9a)|`w6jBd}!a&H_xi+yy}gmwRQ9w6J30gU2;uKHHK zB6}_H@FPCt7rQ__2G1;!y6T>?tp^F@9HljDv4dLY5=6eu^U7V_!2x#Tt$#VXR|TT^ zsa#Rq;r9V21J{9d;=E`u@{G%AK<5#_pC6oq3u*en@ajC(yIucsZ4M-bub&gqFV${< zlyTx?eI`kvmfMA+TiU?}Q&Px<>LI(wbvW^zfJP_Ubs65^10)FpByFO=C0|yk8K>sO z-h3j1>IjNZGg>$a_3OGDN~)TY`A#IR7`(yUOqQxT+u8y|88&~rf1_~?Twf?&q0|P_8Fl?o*NcuH>N>C7{Kf! zxN4DZqLmRSH&H$2uDEJ zpN@h+PSw^2L?F=ZKNbzjya6yT*4(5IfPN2=0HHju!5*N1=x-PxLbU~AkfuW{(ENCQ zKZRBffJXn%J^``+)kWN`?q$x-fd|Qx`+r0v^2Y@yJG6$$keTsyM0Dzp^KfRp1E#n1& zFdtnR(Ke5ZDWesVLryuMpp-u~6;F{rlK~750t=TCCEkp12GBcyy57JfXau_Bye-}R zzxV)|`vz4IkO+q}!LyOH7dItDyw5^j%k_Npc!NTq&|h#OVaX`;jz0$nQ+SXG4kYLS z91BPUyQ33S;Xwla93!Nspb(De1We@6fd7+^%=*LK==!f~w=Yhv&+6y7Eq+1F1i>~b%?q!8=Q22RE>!_y9*((48qC^xjVtNpv#4L zAMrIESD2FFeH>+KN+=>ID6R+*$7T2;C*6H-ap{-OgI`$gK`Fm(3g~QB8bpk)ei4;} zW`F`WAp4muj!y7i7>I@bSAW-b;}>RT=H+c~mpwRh_B#6sQw_V`94#0x#$ueWTS;5& zq7bWfZ8yC-Kf1cuPum!Gp4ojUsLf>XDcqr0QY`Va&-qAUVTrTn#6e<8QGsAVaf!3j z+{7-#AY^EGcxGmd(np_#q1v^;Sz}P2j^6Ecf}515Ce%|{__i`u^fo1w2^6q_s-rQ- zP^dZ&aW)s1q@)jIP$D9i&&sf+6%UV#{-xzcPxIpb9%JLfw3vase0*Za#_?7~MS2~8 zOFZ6u4jUc2mOu^-D=9Ka6H?IvNeCvN+q~bPB9J#W;zHlpHc8e`NhyVzrk-7l7F0Wv z6BX{vJI}qwiSM!N=~by%MLqa6;<_wpdFjE4$DyCpTg$02SHFidc5!0;8-XsNtq{~m zAQX=ek&^Rol0mk$S>_yXmY7*@I?qc2iWRWSjKqb=(*oH#r+Z{jG#$0e%e(_7hU$AU zP*~2F@sSR#m$0>%aHDFq=rvSVuTa#Cvty!TeS4Ju`)hE(^gv5{wFJA?#rJZ?~?e91SiM}7rtSw@Ja}dy5QXq-PJOv2;C4mC0 zx4*qFJhCf3z3=l6bXDm@Pnea}*4E^~;-a;MlesKIkN>qKWpZj2$>K)MQOqQ694`fbld|L9pY2DM(3UZ~doHm(QN)#Kn8*MD@vNeOkg z92|{{G0#$Zg+12XJoMp5q9kU?O4THgv`z7quAapvB!mDbNDKf=eklQ|#=n$On+0iH zVoUnvOG5(|7T8pA0WKuW;U5>@MFS=&{Q2I{C^@OCd$?c>p0o73BR4g5+JWBMik@Mr z<|uw)Ky%kFEY#Y1v;Pnmo#1wsl>e9|K!0AEuZlM8KA(-H@_>%MnJH{?To}5I>gqQ$ zs5yNmw)brkx59M;^d1o^_haIS}6+9R(N&Qq0 z)QMIsPJ=$Ymyn*DoSY>BDs0`32F>W{!7;}x>02|&$q%yXYjye^%`EMr0?jse&klb6 zJU`#&C8+@pxdJp<|DhQfxP>yCv+6wZT2!b#4zuS~cEV*a1?HS=GHr;l0bx)a$B-o} zB)6yK3CHguYb%A)^5sBef(FbyuYK{=m+8TKuJ`*=Zk(->KDlmQyE*mW`*h^8lA2o4 z_V9BGMOYH;8fLsb^u?XErM{zDf3?RxSkXU5CK8GqAG5L5et-)J=|XC6oEr?4`0hSe z!*ID}U=)y_j&=lEr&y#=_f0+S9HAFF%6{Qd8w^8r+?=5c1un-Y_diL(m!SREdaSG; z;yY2|GS#EA^YJI^Zs-Ixbbxr9Zz;6A)qOuS%=qm0xm}$h^>2J;rtLk{0&~?Xr~F_c zYiqM6UcRrGv&ar(UVG^aZl4*n`%Qht^MI)+cRhuKEue;uV(q7?g0HXP@cDy6?aq~@ zPid*~@wm5Xcv8r1`Fs@+cKy6751XBv$}lY&dt=f!s=HxhU%Ab94)we|Uv8s-zR7c; zfm=x=r&a66h1LT#+i4U$Jnklu>{|7)85!Ho_V(^f(4wiS%xaM|jpD0wyCxCA#i=4` z2fnJRry2x7yyiIZAb^mJTXX)4Bw0*7v-z3N>Hs!oK{$s3UP;upqE7Z`pvWI0D zk7+qe8;af`D9wS&39%~jakqX6iK?n?ZwuBM_siL4*~v=#>WvK-E-uJE5O)Iy+aS5e zfH`#B`shmpF2qaz^7?vJIjWu}!n)kJO6N=!HfgcS5+R$#$mrn_gs|?}+dFdGZvXy$ zd3nF=$LPXBv+Nz)7e&Rj=&FsrUXu=O_S3JjB#<1Ov=Jd8^Bx!1ex6_JXc+vwyu4}Y zucWmxZ!4ew*z+{d+Pz3at&`rzUkS_Pps)V+tf%5Q_drli=q@mV z_#b3)3at4yM)?Cxc0*vz190I#K;|(#N*{7az|-46=KtCQEl%{qK#;@)TA!c7ZS0f9 z|1UVle@v+wX|%&ZimnAxNOVxxeTT?!#ATTX#+r!ph0ZC`YOr)$h<*u5HV(v!wz+)^ z3290*q6|0>k^J)>l2t;=kG(Lo-+$gjB5#9CcfclK>c4##36pprmX#nB-t1@w94eu^`>N+jX@-9gF}*ZTJ6)kon&h& zFxsVI`#SLYlYQXOFAg1vBw^@}6n@~p^&z>b@)YU;NawGQk)UeB!UA}+E zz!)=wIY3hM@^hA2f_CnwsF62&(^vUs!N}y4`R_o09(i7C0-e8otA>ofZ|_{a6%!-k zTu9y8mlC6Fvr?eHGjC)WOn%&u`_~hN{%?^YCi^#=LRev>atORi7<=sF$9tm0GKz}A z4oJz7vG^xno|-ob+4ubFSY6$m+!!<9{f)7Cu-u!*r?E9#Fwznvy82yf0gkaPv3nxs z`q9qOr1nnP@veDB0QFdLNNJi^UAOHH^n%Sw!y(A6Er|VwojwBCroMgF)ELpU-FDMyLtnqIuac(E>8JIfX zPLY{XilS?0EV49k@jT((XJJZ?djQ++Tx#@Fc-ng~N9c1oF_^I;P~+a8sh{^szbi$e zgIe*BkwBI5k|J2GWWJiiP811JRdi{GQHT4g3U|ba`89g zJA^`WChS&RZ{O-6KXi^3I9_~z*V$R1A7@zEH7(lr`PJw6_~K#*;aFMVl@Vf|FJJP< zaK#PT{($?toK&@!3bZ%R8jA0-;JCh{>wl#28%egcJ5^b3BS<|x*D%c^v@y=3+W^~| z-w{noc`w1x{&h}xb|8HuNA*n7@TM)|9r3UAu_8C%biSfG3;q}z8=JcwUEw3iiG3x? zFjFf=#ejL=ecRY9?Y}j5)^Slq-=ZJ78;1^QWatvX zVgPCBF6od)q?C9E{QYix?tSm`-hKD;d2jxhITL&BwbogC?{ns??>fE3Z%&Ua6ks`u z$p;HBZM+wygf7a;Iv1&^f2Y7^PNOL5)l43`{A4L(l9F&1_?X)+EE!uuG?jb_Gnd=$ zsEuXlJ_v(<(Lu~*Ntr1$$H3aC8DbSaip)4X;?^lu?r7OO?jd^h(G7!2OD*Dl)_Z&5 z$manA6T2SkK4%9sx3Oc*aTk73a77@r^We`7=jNiAxyLd^oNJ977Qc^^N8O83>h$r+ zBiV4Xbsw$fgWJXa6c*i=FCEeD4mRHsPv}jhmS7gl8*BXGG&??C?RU|aq-39$uge9c zENq~{k`dV6o7;%e`gKI6fIaYZ4YOQ8@#Wq@Z1>1V#plF&>rjNMkZUe@xcr&wq=0Zz zzgd`1Esf~>NT1;7=XKWP#v^9Yw{Lw<(;tou4^Mj?un9 zawCqC4BXG`E*Uaq5O@?o$|~mndy;!iJ*JoRjVVcqMfb-kEthz^XCLMre_?osfOX3l zK^3t|@kc)=4DP&f@h{$h{Hr$>r^VCaKIib^lZ`bdcT@`s*;{Zwz{!0si`&4__KgX9 zRsn_shUY~g;c_^#vi;f|@}Hw!vXjzmpB6Kvz?mXSwq9R<^l0)=|324{=_DFika9ND zGv6S+IsbCWcTN15?kE<6i>#x4u{W`ngaD1ao$U=KKV(-)=i8vgEP*VZ!PmoxwaLCD z{Mg}#ewBjXTf5ou%8rs(2=RYo$Ik2`WgfN3;Sp1N6N(=56X*koZy4*sIsK;o>>JLK z@NgGH_0{biB6^`3B>NbPoMgMO12^i$(o%uOmO66&Aa$pC%1qf2S3wj{ z`~9IwudK0X58IaRZjIaQR@Pfk^B+ja`6qZMYk$`-cPrL*hQORBlp_BA6$pc;FIO?k z+=63d`@@u3Y$i*3H>v1J+7Ut@4(-X^>iwwtv)+D&nQ4o>8{PDk6LGx~8txF9ibilhQHH$Z##R zlqRT+yo!n{Q>2;g7QHHpN`1RBO{Z+hAjhOLv(a6UlK7$d1)Eb-Ge|p zOd7}YmjX=kK)+7(e|8y!=EgLL8O}Dlv=1y~EhlA*&4V8k&jzfZ|8j95?!P+QSM-U& zAlYB!B`+xWh^q}Gj0Uo(b3*;f^b&$tlI>(}l$DHrCYh7(vDb zp^ogkHe1;F`K1KTjC)LHzc}RvKei?^;omy_=AqMFR;t-w6#FgUTA44#7~B_PsmI9 z_+T6UJ8TyIj>@OPTQJtR$+rJ&hV(QGF3cCya!lK*-tkRc5yQulRe*^0v9|5ItfrQ4 zgPNN3l98`IM##fq+W8#N?=ShBub-u0rZ3Eii_`}A!!R-WgzyPUq5KlxoGJESrdAMs z^K_oSg8|$B4M@&(4?>P61CsD0>|Si4V>sA9O?(F4ulI;BKC#HwX1OHx8sct6dF!|`C5wx4U{(TbX%5_VeXc|6V3G4o zXR-rZd;0+TJxx`TO5R!{`h?(3sI-IldasJ#0Uo%k-$16VGV=?!&0tpd%C#vOMTp1tJtO>YUUe^@(a{*e^EbZv;{Qn+VE-uScScPwvmv**vjg?cha_oAA8mcJ=i& zG=Q-DEZW#;X_0>|K-CkBL60YgA6u&t^9Eau>ZehHzww58z%v^TKMnzpzru0Wy+4v7tb@O-3SvU(-<~IvA?gm z2E}&@aY)~si7h~1Z;Jn8s(bsdQyqsvTRSF)q$GCAjKj<0T;+XQ%+g}LCmDT~jIvKM z`NTYSbe|B3z-52*UI$Qksf$t4moBj-=myxzL6v*tKnhDCYxi&g5|7&^=ch0Hp5xha zhs_|=ARaO0&}!_ljw=Kzt@zF}4|Yg3$LsR`##*7?75Cxm)y_5>o3-`F54zWhqsU44 z7tav`iL+D3^fxR;g-VsMly-encD6_2GZb6YYdK%iP%&y&Qph2vL)|qOtIE{?Bzs8} zreNBvN(#A2>FAhbehP^OeIK5lj-ptmvebIp-OYdC!dsp7^-sD}Nyl-<>K%`i}?j%2O{Q-pf@w)Ww(hhCjfA9IDSsef`0VS7$!azjqIM=02W(Sz1 zk+|R{;Dpxv_V05U;EdTBIB~tJRTP&2o8aH1^sNgW{NZ1!qzcC%CM$^r4j?eJLSYm4 zp+>KEf^Lg+$_(F3?P0rz!7=#mLmA**73;&lPw-)A=dSS$$k5G*dtg*p0#I}+2%Hf+L-TL5wA$d=E&(16wn(oQD|X4QPT`;^}-zgathPXGKMf5*7$ z=52G&^1>x3!dzRMiA2`6Zp==rEy5^9$Ad2dAUaXs$ck&oGrV^6gTX&tSqZy1>?-Q_;E%mw#V8CChHPL%smSb0yViLT= zvh2l*phn%tm-c9Tcf0iWzdnK(|5T}_la@DJ`9FZNjQz;9{ zL-1KXo{69ku&&i2@1@l7f%L?Q$#vP7JqXk3!l*z--cihtXP`%WJExuAQ?e_|e`d~o z4>FfM2TK<}4SH`<9>2F}tAyzzAkZ#Ki){l07}8TI<=+)OQ*E~>)zcYyuK_dv$M(eD ztVa3=mW9TX-3zP2D2gxcDhcIehh@gbjY9UJmT%ta7BYHhX83GrC2KdH1Apt6O1te* z>o}e5S6OSDO_o^=C3ANys>Zw%$v${O8Upg|{I>ug%O za?l-1BlOU>_8I({W~Rg|$Oh)NLRRng93T23qSy6De zf7&G(x8HvD&8OUiGHLptZyh&2Lw|wp1?6TxzfL(?X9;|MS zc-6{dou;1bPX~KZF?WkcA1b5c`Gn~g99FyworMF`>&<;I1TPt*|8~0|2IECnv}(Td zVrSG#ecQzrWuk&KH>z8-R)sWAI>~(dw*bnqN`V+(pp=f}yC9roH78X|)gS|K=wP~( zM#i$I7Cf9FsV|n6GwG)n3sftVM%0bU0zaWPiA(&I!XAH{oc+N>RDZVFk69+ybC={W zc#ZeVM7D)57S9@bGooT6a=a{qgo3!4lh^z6MdV)>wN{*eQl}D6Rt-PeTVzOxzJ^^A zGmAFlT1Pwk1srSlDsQc;^$2Cg;D9Yl9SwgG9X#$&erG?p{k^&2S$3cw+3yp>#&^w9 zuc9q-eT0=TNCN6$t_l|>h2+Y^cgC~+JL97`WLKW%(^S4>50%NUukh`TxxSKqf_x0M z1K3zFhYP0`kBFTo2sk7wz`zo8P%tJrc>~|8kpUgE=}5e zuBaEaUk00}ONwjMIoH9cEWQOs-0o9gq)=Hz7rtn-AKUo)MmzT~*Pj>{O#a$F?)~=c zy*CG)c#|c$6!pypdzJWRb3Vx~9gUXoUiupWv5j9luS?G^z?S(tT72W4h12O`4NV?D zP@m&rM3wTTBqH27NTH`{V^~D(p+s+G7f2!b=kR!(wcyfp@$S|WV|4^&U;rh$NH^JF zQlBbfJa_tXMHy$Vwu0_~g_K}wS{Pny!12RG_+Alvq;M8qunjIcSH$5TjHscfdcmr) zRX{Pb`RV@2##PlwM=he(LgKOAm6>3XXVo+KxO@Hno#w7vHSN54I1a_kcUb(7D@Ry;ah zH~sG1C+;D$9|rKwHyjt>ni~revsbMq|dCB>u{h&(( zx-W5yp-!3G#nGy6DVsXdtn?C09hpLISQidw-D~uI`s90y|Ef|j3<$nf7y*6ss`AfV zc_DjlgJ1g#)jvw~!4Qk+3*L&m8SQqP-va`je^zEyrG==LOv~S2+>}cL>MlSTM=PU} zGpf-eYNKk0EUG+nl@7kE+`+T00i;$D8`$&K_%_=YEOegk;06?`40; zAgl*V0B$~f{E8WVFXmghA=9(Va|(gNEZVOaTq3Pa-#2EeT;`gC%3k>Cx73z>W`Abd zRrEwL7mc6si|>C16)lcYq`rJQ2( zYNG-xHEs79!KXYqe{}7PSwckQ+j8)a3~|81%#J zyVOPy3+G{~g40aLzvtl?uH=huD@XL@k}u-6SarwdVj2hK6}wIAp6wGc=t!L%00n~l z3t6FNq0(&7=%r(>oW#)PXJX@*YdC)>J8y?Wp!mN|SsO%nx(%17++auD()QTdi{rEJ z%`Xc-NQ$cfoUH$!>LZ#Tm{~DYFZY029PbF(V06M%Y%u%KuemxZ2`&DgG$q|R`ad+b zTTmZ1fI0F7Ro&jH(Jt0c^)UW*ISccAZ4r%`SS`d) zZ8}Nniq%DXkA0(Fi@o^5=TkFP`J+p1-LWsgfjepDA)E_89ge0^w&U|Mw-&wmCkVouJj2JN5o9YxA#8G$F-)PpX}82@sF{fTAJk0d;pK|2WW^+xUgU}DdTY$;mNv)J z02Xwgh>8Y3eK(&KbOU6SVeOLS1LBfYl5GM!91Ogu_PF1{Xxfp|E?U0iRy<5y6}KbM zH1=Od-~}`M+GOKf_TVMQY!h#FPq$(>Wou>iFx#1_ip2H9*|lrsI5z6r5ipK- z7d<6U82s-M1!Q9x96+eA-(Xy?T_h-hhNoc}o!ykC%PI zm{fr+kU>Gb>$x2#dP6U4lqw7e)dvPe2Flomw_=FYV1Z1eZCxfB_ zX_P>d8VXGCAr_D@A_J2Z0dl_X(p9!J|DU}%`Fn~3RNOsrc0@PbWW@OYGe-z01xx&D ze+g3#$X5FZW3GA0g7GZ`%Py`{7QH8{BdRFJ)-I06jj+B=~DIh%%L0uo#iAe}9o5*?;_!NUUoSPrXOX&SKjH@DI_f1&Fd zS$jP5Fk|aC@^qkI0)31qlf@549g&FNq}p^|Bt@Du7Z47 zK+gR`gEsrSjq@fLU2OT(@x_VoP~BXB^rac?l!t!74>u|=aX2d!gaSNq-)&^wD{(bS z_70G!-E%jXI`&T8KU;pkbK-K|J5@{2bpNlNq$RfoFQqk$kK57VuksNZbnKCNvaCkQG-D1|lK?f1CxjuqZ8A z8jD`F`@4~nDBvjS^wHn1&=H{IQV4m z!D2?b!{X27Uqbzvne!?AR#HI{;x9_qVV`OeznaQs)v6jBk+**QeO+yEeU&jd@HSBN zclb?kEC>%qLPCWNsAC8yqo`o{kqu>M-$`Q9)GC^#_qYn-?njFr5*$lnOraPRmYeeV z9ombB5)$c}3!7$?-PFAH#6an}_F+k(EV36@_Srl!>|}MXD&%Afv`Td^=n(FrDwRep z%_lxihLIeVt=*T4RVA(V0-z-n63)JNSZ5SJ+V z0qge0V}G5<2<$iq3|!{woR!jTu5iE3-%x9ZWY5%>RW=M)Fzj@SqMAR_?TR1N5@Z$ZzWCpVB} zPv^Z=@{Gkk!S<2F+zEbew0NKwi;V&XqAVv13s3|w4Y130@dYWOws}|ovPdb0lCAQc z^n#zC(VXzs`64Qph9`5sMWusjnFVMGA!+q@K7;I4}%dA?jZvc{fGD`PGtkuBYb9L_|Bm`Qp>pabNcB zg;uPF1_*(0-6I6V-DyTL(lP~siJ2>mxc@!{hnJVT&hJG&7JFe`^<%uPi?06%8M>&L^KJzya=jqCH~!Jii_o>{wN#^7L9U{=NFMwC%`NSW3VEI6G0*=NHM zF4=A#E40?WdJFCLAS)Etqcb%g+gzVpcaxYLkU7Y5+I-4+g2-4s+5}~+R}P-eb!6^L zIC(yt|1O$&JM#nSSjax6+l4A<83Q~6yhFuiMD*N!0t#0A+bcGt@^(QWmVw19!hnMk z5NZ?z6G#s-q?QcgZ;Iylfu{2VU7qK)N z8KGT|@#T@{lD9vcWJDmw%?x?P8)abLvaq&WIKRD|_A4slRs{%R<7=Nj@_`#$IW~m+ z$KOxom=M57IqCdPwW^DYhB96(_IhuSF_g;`)R28jl8~7h-fkna;&;RG=Rz}p@f#=* zqu5xW+?vw&`f&h%I0DAcn-fH{6c~cB^8hpqR}3s$zPj2Ypxh`wIz7D}%(8*CnVTpX zdsehSAW%J&AdIMsGqX1HHghN<0Q>fn{Y!JojY0AMPpL*iMXDrTZ^gs2% z{4Fo)${fVA+``JFjS;&ao9*6Z+tg~zT?l=DEB;IIuH&nXS$rw=>QDy=KdA%Fs91bCC#LN4rNo=$`<@h=SeHr8Hc>oF^l_NRnkc(ZD;?5?t5 zTN0?Le-WSKi+LE=kv1G=O3 zSyaEN?-hK)3?0>cVmyVL^kym>_eaYHPgH%&nJoczQhaJE0OXXF^d3744w0mM< z7*~ry54@9aDjZ|St4+0@P+CSZLKxTl=7)S3OBsd+=b`0W$$dcr(Usto@rY0u@erBS z+n$K~Pgn?!&gme}*MMqqy5A_bA*c0V_g_v=AF3l*Y9F#&R;khV zj;RP(>c3_kJAZ8NaY$8y{bshTNw~0(+9tt|VWhX_k*zs{Miwj7{c6?7&!_GpRYAqm znU{FfMBiE;0Yy-5yhg%3Vqn6_^M?^%(7Ec&qd-JP4Yi9xv@B3vjj!>vkqgi#2#gOr zAr$0RcAc)a2G0^9*_va6LT_C1t@8;}A60Ga7Q)x_rWLle$_^~8^FF__BubJDwEZRO z>zTO9h9B-aKk7@kYAl0Y?uYV~?FB=qzX;?Z8tLYawn0L`)Om1kzdM`6jpHn*eB5O* zK{(QUSBL~!bZ>^eN3~(f0VP@ZGpDrCB*7^j}4w`B+Di1XM*3Eh|7Ui$7+XDh}np%y8r zYvq&>2o8|T4d~LWhvD*AhNDO@*WW(y0C(t-FfOtZ^d(GamPzN+=)iF&=viWM>d=KLdA*IN|2Xy^#p`JRjL%E*}0|A}P0$pTC zomDlXi*=d?Q3GIYG>;~M{zl@utXN<=Z4)@4r=z6L;Xsf$ep~0S^Ue-;ftw7-PDXJ; zK;m#yFq$aKkbKWk#L+a$+T%@AWHOMDPbuz;o-Bn>JrBG=!Jp3!#`t)TFT0iq zTE`vIc<-ZHL)}YfkHQtl_c(qP2PggSqiu;XR?=GXN(ScJkhs>SKo*zRg)YVGw42oj zj-z>g?o>|b;NZ^bLT1FT;Cn}esY}Q89t3*{ygfR9gb1G)&EbJvY63*U%RGosfY&e}Yz=yf<)wQ}U4mZ3kE7xyPif2ih*OKf_D*ToARGpwc8O zEUr2H*P=Z)fQ|6K%ET^tkEQGUoeZj}hpDm4`rJkugeaQA(B+cmYRqQ39%*w3Abqef&h5+tBF*@r_hFG_hMkwq~L zy$k-MY4eU1Mbq6jY4?Q&I-u7mtGD%sD8-d;BZ9U`%wGXH>JdCDLU3dYTQ0EL!y!8C zc5c<*oheuzL*eRc{$4Os|L5|_$@y4U68l}ZBtYG>5<=ssfiJlE@{Xi#{m_ z9I((G8Wq^Gs=od5L?BQp zsmnwhbq55)$jb8HVnm3<9%e8h_%>5xQ6YE;MBsS&rC|hx#3i$NQm{u-{smC&WQjkh z7{zD-rr{yP{sx$GYnTy)pyc|?(~oa45kRt$6U;2kj~GU!2or`6HI!qerJqwTKeDzV z55l1TF`n5b*S#e8p5BDn{jf9cp8{e)x`z$1T)8L^29e$Qt=DZupyGG}GV8kRlLItJ zx!8oZTu}fHlK{JC-3`19qnMxsGhG=3dHd&jvu+U9=4p|+%`b-Sw>G5^fpkaD!Lg))~N7CDIMFO!5veG{$a2AvQh!#QkwTCn! zsgXZ7X9J!GY|V0u*I3MEF#kg&I&@`H@fj5zEJdn{ZY`m?N2d_AL?sB}6b2!nMn-OV zgoJG$Uuy3^7xARdH<LduEQg-r9qsBo~1P13@R#zd7pCWFZ_NVVV z-EKV&8VV)7U8cn@4P)q&fZzzVL5YY1qlW-taOCIz4qW@9{Z)Fl;nSL3zo~G-54%6{ zQkBql(vfm$J6w4>!S^J~Qn6`w`u%2(Ti6d}FZYV!rl-3u6Z0mETecsGZ4L)SuX$hv zqT84EpCUyC-w~B??(I?qvo4m=N-{vJTxNTgR_;rml`X3cBXzcCg%FVfGvzh;svN{p zh&761QQvvXQHEq3NWH}=>UK$YRwHV#;s>RXC_`1S>iw+Z?uyw#o7#TrKJM3HWT^e# zYbHX3_ooGd@0otBu4;I?z|^8zGQyWe=Zn~Ou=>5TFgg0Smp-gy(fV!XCgwDr<$2}t zfDhgLq>jOgQ4e`$CqDRY)o*uS)l9B_S%TRZ-Bfy{ss*px#)l8=KQ}WQ>t5K``v6_~ z#NFWnq~%qoz<6Og{thMlVVNQ3IZyD!r1k6{37pD8QXF}M#ineRqmih8Ug(WIbERo? z)&IVEQl5We>TfY7876M3N=UXiL>T0s`0Mp-BUM&RcH@>KHvuHSOarah4<{Vd^&R4`W*XKGIB)gYOK7bhWW@qk_oy^fQ5-U+;e|*@^G`Vk z|KjgyBEGPz#5~=KL1oA$Z%|C-x#{hN1coG{;^lNl2XmS04|M^X%gEP%7<8M zw~zQj#EQ2oy+2gQ&GX3V46Q}rVO)JsI#&Re(4Dkp7{wb400NMY&R;7pC=qrI#kL%%FdHtEjW<)7DEht0F@Sywe%BZlVDlv%;L(m8bFs1oKS`I8%87*39oF1S3 z7(LPZ#s&Dc1yw5_?Zx_rZ*y$~k^IimGgqIc0Xb)Sc{P`!L8(6)z9TZVqz3ypVzw**^WljINa=_)yZdV&SyYy<7X}4#G z>hhRVPnGkeCLcLV+-ADkBRhE`IY833xVkl78u~hhF@DkXQQo8GUV_BUDze#R%dNY^4E#-1Squl|Z0j>t}mFirxSD!|NY+ z1_#C6ykP!Z^k079`noXQ^}cp9i~V1gQdHDVPm6sg=b}{v{(m6{frSN>V*rv4ugl+l w{IAP-u-A6~whBVf$D8s67}lL;|LZ3h?x1_s=fM%Qqubx9C~7K{$-&_N14&6W8UO$Q literal 0 HcmV?d00001 diff --git a/a11y/prefers-contrast/index.md b/a11y/prefers-contrast/index.md index 69b273d3b3..708ce906b9 100644 --- a/a11y/prefers-contrast/index.md +++ b/a11y/prefers-contrast/index.md @@ -2,45 +2,94 @@ title: "`prefers-contrast`" description: "Значение директивы `@media`, которое отслеживает настройки контрастности." authors: - - doka-dog + - ra1nbow1 +contributors: + - tatianafokina keywords: - - доступность - @-правило - - media + - at-rule - media-query - - контраст related: - css/media - - a11y/chto-takoe-a11y - - a11y/aria-intro + - a11y/prefers-reduced-transparency + - a11y/forced-colors tags: - doka - - placeholder --- ## Кратко -Одно из значений директивы [`@media`](/css/media/) для проверки пользовательских настроек. Отслеживает выбор настроек контрастности в системе. +Одно из значений [директивы `@media`](/css/media/) для проверки пользовательских настроек. Отслеживает выбор настроек контрастности в системе. ## Пример ```css @media (prefers-contrast: more) { .image { - border: 3px solid black; + border: 3px solid #000000; } } ``` +Давайте зададим модальному окну белую рамку, когда контрастность в системе понижена. + +```css +@media (prefers-contrast: more) { + .dialog { + border: 2px solid #FFFFFF; + } +} +``` + + + +Если заглянете в демку со включённым режимом повышенной контрастности, у модального окна появится белая обводка. + +![Сравнение внешнего вида окна по умолчанию и в режиме увеличенной контрастности.](images/prefers-contrast.png) + ## Как пишется -У `prefers-contrast` есть несколько значений: +У `prefers-contrast` несколько значений: + +- `no-preference` — настройки контрастности по умолчанию; +- `more` — контрастность увеличена; +- `less` — контрастность понижена; +- `custom` — выбран [режим принудительных цветов](/a11y/forced-colors/). Например, режим высокой контрастности Windows. + +### Поддержка браузерами + +На октябрь 2024 года `prefers-contrast` поддерживается [всеми популярными браузерами](https://caniuse.com/?search=prefers-contrast), включая последние версии Chrome, Firefox и Safari. Поддержка в старых версиях браузеров не такая впечатляющая. Для максимальной совместимости используйте директиву [`@supports`](/css/supports/), которая проверяет поддержку CSS-свойств браузерами (feature detection). -- `no-preference` — настройки контрастности по умолчанию. -- `more` — контрастность увеличена. -- `less` — контрастность понижена. -- `custom` — выбран режим принудительных цветов. Например, режим высокой контрастности Windows. +### Тестирование и эмуляция + +Можете тестировать условие `prefers-contrast` в браузере или повысив, или понизив уровень контрастности интерфейса в системе. + +В браузерах на Chromium (например, Chrome и Edge) откройте инструменты разработчика (F12), зайдите в «Другие инструменты» (More tools) и выберите вкладку «Отрисовка» (Rendering). Во вкладке найдёте опцию «Эмулировать медиафункцию CSS prefers-contrast» (Emulate CSS media feature prefers-contrast). + +В операционных системах настройки прозрачности находятся в разделах доступности и специальных возможностей. + +
+ macOS + +Системные настройки (System preferences) → Универсальный доступ (Accessibility) → Монитор (Display) → Увеличить контрастность (Increase contrast). +
+ +
+ iOS + +Настройки (Settings) → Универсальный доступ (Accessibility) → Дисплей и размер текста (Display & text size) → Увеличение контраста (Increase contrast). +
## Как понять -`prefers-contrast` отслеживает любые настройки контрастности, не только режим принудительных цветов как `forced-colors`. +`prefers-contrast` отслеживает любые настройки контрастности, не только режим принудительных цветов (повышенная контрастность) как `forced-colors`. + +Директива `prefers-contrast` полезна для повышения уровня [доступности сайтов](/a11y/chto-takoe-a11y/). `prefers-contrast` позволяет разработчикам адаптировать стили в зависимости от предпочтений пользователей, особенно людей с ослабленным зрением. Например, увеличение контрастности упрощает восприятие информации, а уменьшение — снимает напряжение с глаз. + +## Советы + +💡 Пользователи могут изменить настройки контрастности на уровне системы, поэтому убедитесь, что сайт корректно реагирует на эти изменения. + +💡 Тестируйте ваш дизайн с разными значениями `prefers-contrast`. Так проверите, насколько дизайн доступен и как обстоят дела с юзабилити в различных режимах. + +💡 Для создания комплексных и адаптивных дизайнерских решений используйте вместе с `prefers-contrast` другие значения директивы `@media`. diff --git a/a11y/prefers-reduced-motion/index.md b/a11y/prefers-reduced-motion/index.md index 6488bf321e..8f43278b40 100644 --- a/a11y/prefers-reduced-motion/index.md +++ b/a11y/prefers-reduced-motion/index.md @@ -93,7 +93,6 @@ tags: - меньше кода; - старые браузеры, которые не поддерживают `prefers-reduced-motion`, просто проигнорируют это правило и отобразят только оригинальный элемент без анимации. - ### Плавная прокрутка ```css