{"id":37147,"date":"2025-12-28T02:00:34","date_gmt":"2025-12-27T23:00:34","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/"},"modified":"2025-12-28T02:00:34","modified_gmt":"2025-12-27T23:00:34","slug":"eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/","title":{"rendered":"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak"},"content":{"rendered":"<h2>eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz web d\u00fcnyas\u0131nda kullan\u0131c\u0131 deneyimi her \u015feyden \u00f6nemli. Ancak bu deneyimin sadece belirli bir kesim i\u00e7in de\u011fil, herkes i\u00e7in eri\u015filebilir olmas\u0131 kritik bir gereklilik. React ve JSX ile geli\u015ftirilen modern web uygulamalar\u0131, sunduklar\u0131 dinamizmle birlikte eri\u015filebilirlik konusunda baz\u0131 zorluklar\u0131 da beraberinde getirebilir. \u0130\u015fte tam da bu noktada <code>eslint-plugin-jsx-a11y<\/code> devreye girerek, geli\u015ftiricilerin eri\u015filebilirlik standartlar\u0131na uygun kod yazmalar\u0131na yard\u0131mc\u0131 olan g\u00fc\u00e7l\u00fc bir ara\u00e7 haline geliyor.<\/p>\n<h2>eslint-plugin-jsx-a11y Nedir ve Neden \u00d6nemlidir?<\/h2>\n<p>Web eri\u015filebilirli\u011fi, web sitelerinin ve uygulamalar\u0131n\u0131n engelli bireyler de dahil olmak \u00fczere herkes taraf\u0131ndan kolayca kullan\u0131labilmesini ifade eder. Bu, g\u00f6rme engelliler i\u00e7in ekran okuyucular, motor engelliler i\u00e7in klavye navigasyonu veya i\u015fitme engelliler i\u00e7in altyaz\u0131lar gibi \u00e7e\u015fitli adaptasyonlar\u0131 i\u00e7erir. <code>eslint-plugin-jsx-a11y<\/code>, JavaScript linter&#8217;\u0131 ESLint i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f bir eklentidir ve React veya benzeri JSX tabanl\u0131 projelerde eri\u015filebilirlik (a11y) kurallar\u0131n\u0131 otomatik olarak denetler.<\/p>\n<h3>Neden Eri\u015filebilirlik G\u00fcn\u00fcm\u00fczde Bu Kadar \u00d6nemli?<\/h3>\n<p>Eri\u015filebilirlik, sadece yasal bir zorunluluk olman\u0131n \u00f6tesinde (\u00f6rne\u011fin WCAG standartlar\u0131), etik bir sorumluluk ve i\u015f stratejisinin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. Eri\u015filebilir bir web sitesi daha geni\u015f bir kitleye ula\u015f\u0131r, kullan\u0131c\u0131 memnuniyetini art\u0131r\u0131r ve hatta arama motoru optimizasyonuna (SEO) olumlu katk\u0131 sa\u011flar. Engelli bireylerin internet kullan\u0131m oranlar\u0131 artt\u0131k\u00e7a, bu konuya verilen \u00f6nem de katlanarak artmaktad\u0131r.<\/p>\n<h3>ESLint ve Plugin Mimarisi<\/h3>\n<p>ESLint, kodunuzdaki hatalar\u0131 ve stil tutars\u0131zl\u0131klar\u0131n\u0131 belirlemek i\u00e7in kullan\u0131lan pop\u00fcler bir statik kod analiz arac\u0131d\u0131r. G\u00fc\u00e7l\u00fc plugin mimarisi sayesinde, farkl\u0131 diller, framework&#8217;ler veya \u00f6zel gereksinimler i\u00e7in \u00f6zelle\u015ftirilebilir. <code>eslint-plugin-jsx-a11y<\/code> de bu mimariden faydalanarak, JSX s\u00f6zdizimi i\u00e7inde eri\u015filebilirlik kurallar\u0131n\u0131 uygulamak \u00fczere geli\u015ftirilmi\u015ftir.<\/p>\n<h3>JSX ve Eri\u015filebilirlik Sorunlar\u0131<\/h3>\n<p>React gibi k\u00fct\u00fcphanelerle JSX kullan\u0131rken, bazen fark\u0131nda olmadan eri\u015filebilirlik sorunlar\u0131na yol a\u00e7abiliriz. \u00d6rne\u011fin, bir <code><\/p>\n<div><\/code> elementini bir d\u00fc\u011fme gibi kullanmak, <code>alt<\/code> \u00f6zelli\u011fi olmayan bir resim eklemek veya klavye navigasyonunu bozan bile\u015fenler olu\u015fturmak yayg\u0131n hatalard\u0131r. Bu plugin, bu t\u00fcr potansiyel sorunlar\u0131 derleme veya \u00e7al\u0131\u015fma zaman\u0131ndan \u00f6nce tespit etmenizi sa\u011flar.<\/p>\n<h2>Kurulum ve Yap\u0131land\u0131rma Ad\u0131mlar\u0131<\/h2>\n<p><code>eslint-plugin-jsx-a11y<\/code>&#8216;yi projenize entegre etmek olduk\u00e7a basittir ve geli\u015ftirme s\u00fcrecinizin erken a\u015famalar\u0131nda eri\u015filebilirlik sorunlar\u0131n\u0131 yakalaman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h3>Gereksinimler<\/h3>\n<p>Bu eklentiyi kullanabilmek i\u00e7in projenizde ESLint&#8217;in kurulu ve yap\u0131land\u0131r\u0131lm\u0131\u015f olmas\u0131 gerekmektedir. Genellikle React projelerinde <code>eslint-plugin-react<\/code> gibi di\u011fer eklentilerle birlikte kullan\u0131l\u0131r.<\/p>\n<h3>npm veya yarn ile Kurulum<\/h3>\n<p>\u00d6ncelikle, eklentiyi projenizin geli\u015ftirme ba\u011f\u0131ml\u0131l\u0131klar\u0131na eklemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">npm install --save-dev eslint-plugin-jsx-a11y\n# veya\nyarn add --dev eslint-plugin-jsx-a11y<\/pre>\n<p><\/code><\/p>\n<h3>.eslintrc Dosyas\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Kurulumdan sonra, ESLint yap\u0131land\u0131rma dosyan\u0131z olan <code>.eslintrc.js<\/code>, <code>.eslintrc.json<\/code> veya <code>package.json<\/code> dosyan\u0131zda eklentiyi etkinle\u015ftirmeniz gerekir. A\u015fa\u011f\u0131da tipik bir <code>.eslintrc.js<\/code> yap\u0131land\u0131rmas\u0131 g\u00f6sterilmi\u015ftir:<\/p>\n<pre><code class=\"language-javascript\">\/\/ .eslintrc.js\nmodule.exports = {\n  extends: [\n    'eslint:recommended',\n    'plugin:react\/recommended',\n    'plugin:jsx-a11y\/recommended', \/\/ Buras\u0131 \u00f6nemli!\n    'plugin:prettier\/recommended'\n  ],\n  plugins: [\n    'react',\n    'jsx-a11y' \/\/ Eklentiyi belirtiyoruz\n  ],\n  parserOptions: {\n    ecmaFeatures: {\n      jsx: true\n    },\n    ecmaVersion: 2020,\n    sourceType: 'module'\n  },\n  settings: {\n    react: {\n      version: 'detect' \/\/ React s\u00fcr\u00fcm\u00fcn\u00fc otomatik alg\u0131la\n    }\n  },\n  rules: {\n    \/\/ \u0130ste\u011fe ba\u011fl\u0131 olarak baz\u0131 kurallar\u0131 \u00f6zelle\u015ftirebilirsiniz\n    \/\/ 'jsx-a11y\/anchor-is-valid': ['error', {\n    \/\/   components: ['Link'],\n    \/\/   specialLink: ['hrefLeft', 'hrefRight'],\n    \/\/   aspects: ['noHref', 'invalidHref', 'preferButton']\n    \/\/ }]\n  }\n};<\/pre>\n<p><\/code><\/p>\n<h3>\u00d6nerilen Yap\u0131land\u0131rmalar (recommended, strict)<\/h3>\n<p><code>eslint-plugin-jsx-a11y<\/code> iki ana yap\u0131land\u0131rma seti sunar:<\/p>\n<ul>\n<li><code>plugin:jsx-a11y\/recommended<\/code>: Genel olarak iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r ve \u00e7o\u011fu yayg\u0131n eri\u015filebilirlik kural\u0131n\u0131 i\u00e7erir. Yeni ba\u015flayanlar ve \u00e7o\u011fu proje i\u00e7in idealdir.<\/li>\n<li><code>plugin:jsx-a11y\/strict<\/code>: Daha kat\u0131 kurallar i\u00e7erir ve eri\u015filebilirlik konusunda taviz vermek istemeyen projeler i\u00e7in uygundur. Daha fazla hata ve uyar\u0131 ile kar\u015f\u0131la\u015fabilirsiniz, ancak daha y\u00fcksek bir eri\u015filebilirlik seviyesi sa\u011flar.<\/li>\n<\/ul>\n<h2>Ba\u015fl\u0131ca Kurallar ve Kullan\u0131m Alanlar\u0131<\/h2>\n<p>Eklenti, y\u00fczlerce farkl\u0131 eri\u015filebilirlik kural\u0131n\u0131 denetler. \u0130\u015fte en s\u0131k kar\u015f\u0131la\u015f\u0131lan ve \u00f6nemli olanlardan baz\u0131lar\u0131:<\/p>\n<h3><code>alt-text<\/code> Kural\u0131<\/h3>\n<p>Bu kural, <code><img><\/code>, <code><\/p>\n<area><\/code>, <code><input type=\"image\"><\/code> ve <code><object><\/code> elementlerinin eri\u015filebilir bir alternatif metne (<code>alt<\/code> \u00f6zelli\u011fi) sahip olmas\u0131n\u0131 sa\u011flar. Ekran okuyucular, g\u00f6rsel i\u00e7eri\u011fi bu metinler arac\u0131l\u0131\u011f\u0131yla kullan\u0131c\u0131lara iletir.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Hatal\u0131 \u00f6rnek\n<img decoding=\"async\" src=\"logo.png\" \/>\n\n\/\/ Do\u011fru \u00f6rnek\n<img decoding=\"async\" src=\"logo.png\" alt=\"\u015eirket Logosu\" \/>\n\n\/\/ Dekoratif resimler i\u00e7in bo\u015f alt metin\n<img decoding=\"async\" src=\"dekor.png\" alt=\"\" \/><\/pre>\n<p><\/code><\/p>\n<h3><code>anchor-is-valid<\/code> Kural\u0131<\/h3>\n<p>Bu kural, <code><a><\/code> elementlerinin ge\u00e7erli bir <code>href<\/code> \u00f6zelli\u011fine sahip olmas\u0131n\u0131 veya bir olay i\u015fleyici (<code>onClick<\/code> gibi) ile etkile\u015fimli olmas\u0131n\u0131 denetler. Bo\u015f <code>href=\"#\"<\/code> kullan\u0131m\u0131 genellikle eri\u015filebilirlik sorunlar\u0131na yol a\u00e7ar.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Hatal\u0131 \u00f6rnek\n<a href=\"#\" onClick={doSomething}>T\u0131kla<\/a>\n\n\/\/ Do\u011fru \u00f6rnek (e\u011fer bir d\u00fc\u011fme gibi davranacaksa)\n<button onClick={doSomething}>T\u0131kla<\/button>\n\n\/\/ Do\u011fru \u00f6rnek (ge\u00e7erli bir ba\u011flant\u0131)\n<a href=\"\/sayfa\">Sayfaya Git<\/a><\/pre>\n<p><\/code><\/p>\n<h3><code>no-static-element-interactions<\/code> Kural\u0131<\/h3>\n<p>Bu kural, <code><\/p>\n<div><\/code> veya <code><span><\/code> gibi statik HTML elementlerine <code>onClick<\/code>, <code>onKeyDown<\/code> gibi olay i\u015fleyicileri eklenmesini engeller. Bu elementler varsay\u0131lan olarak etkile\u015fimli de\u011fildir ve klavye ile odaklan\u0131lamazlar, bu da eri\u015filebilirlik sorunlar\u0131na yol a\u00e7ar. Bunun yerine anlamsal HTML elementleri (<code><button><\/code>, <code><a><\/code>) kullan\u0131lmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Hatal\u0131 \u00f6rnek\n<div onClick={handleClick}>T\u0131klanabilir Alan<\/div>\n\n\/\/ Do\u011fru \u00f6rnek\n<button onClick={handleClick}>T\u0131klanabilir D\u00fc\u011fme<\/button><\/pre>\n<p><\/code><\/p>\n<h3><code>tabindex-no-positive<\/code> Kural\u0131<\/h3>\n<p>Bu kural, <code>tabIndex<\/code> \u00f6zelli\u011finin pozitif bir de\u011fer almas\u0131n\u0131 yasaklar. Pozitif <code>tabIndex<\/code> de\u011ferleri, klavye navigasyon s\u0131ras\u0131n\u0131 beklenmedik bir \u015fekilde de\u011fi\u015ftirebilir ve kullan\u0131c\u0131lar i\u00e7in kafa kar\u0131\u015ft\u0131r\u0131c\u0131 olabilir. Genellikle <code>tabIndex=\"0\"<\/code> (elementi do\u011fal s\u0131ras\u0131na g\u00f6re odaklan\u0131labilir yapar) veya <code>tabIndex=\"-1\"<\/code> (programatik olarak odaklanabilir ancak klavye ile atlanabilir yapar) kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Hatal\u0131 \u00f6rnek\n<div tabIndex=\"1\">\u00d6zel S\u0131ra<\/div>\n\n\/\/ Do\u011fru \u00f6rnek\n<div tabIndex=\"0\">Odaklanabilir Div<\/div><\/pre>\n<p><\/code><\/p>\n<h3><code>role-has-required-aria-props<\/code> Kural\u0131<\/h3>\n<p>Bu kural, belirli ARIA rolleri i\u00e7in gerekli olan <code>aria-*<\/code> \u00f6zelliklerinin varl\u0131\u011f\u0131n\u0131 denetler. \u00d6rne\u011fin, bir <code>role=\"checkbox\"<\/code> elementi <code>aria-checked<\/code> \u00f6zelli\u011fine sahip olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Hatal\u0131 \u00f6rnek\n<div role=\"checkbox\">Se\u00e7enek<\/div>\n\n\/\/ Do\u011fru \u00f6rnek\n<div role=\"checkbox\" aria-checked={isChecked}>Se\u00e7enek<\/div><\/pre>\n<p><\/code><\/p>\n<h2>Eri\u015filebilirlik Neden Bu Kadar Kritik?<\/h2>\n<p>Web eri\u015filebilirli\u011fi, sadece teknik bir konu olman\u0131n \u00f6tesinde, geni\u015f kapsaml\u0131 etkileri olan stratejik bir konudur.<\/p>\n<h3>Yasal Y\u00fck\u00fcml\u00fcl\u00fckler ve WCAG Standartlar\u0131<\/h3>\n<p>Bir\u00e7ok \u00fclke, web sitelerinin belirli eri\u015filebilirlik standartlar\u0131na uymas\u0131n\u0131 zorunlu k\u0131lan yasalara sahiptir. Web \u0130\u00e7eri\u011fi Eri\u015filebilirlik Y\u00f6nergeleri (WCAG), d\u00fcnya genelinde kabul g\u00f6rm\u00fc\u015f bir standartt\u0131r ve web i\u00e7eri\u011fini daha eri\u015filebilir hale getirmek i\u00e7in bir dizi k\u0131lavuz ve ba\u015far\u0131 kriteri sunar. Bu standartlara uymamak, yasal yapt\u0131r\u0131mlara ve davalara yol a\u00e7abilir.<\/p>\n<h3>Kullan\u0131c\u0131 Deneyimi ve Kapsay\u0131c\u0131l\u0131k<\/h3>\n<p>Eri\u015filebilir bir web sitesi, herkesin bilgiye ve hizmetlere e\u015fit \u015fekilde ula\u015fmas\u0131n\u0131 sa\u011flar. Bu, engelli bireylerin yan\u0131 s\u0131ra ya\u015fl\u0131lar, ge\u00e7ici olarak engelli olanlar (\u00f6rne\u011fin kolu k\u0131r\u0131k olanlar) veya d\u00fc\u015f\u00fck bant geni\u015fli\u011fine sahip kullan\u0131c\u0131lar i\u00e7in de daha iyi bir deneyim anlam\u0131na gelir. Kapsay\u0131c\u0131 tasar\u0131m, daha geni\u015f bir kullan\u0131c\u0131 taban\u0131na ula\u015fman\u0131n anahtar\u0131d\u0131r.<\/p>\n<h3>SEO ve Performans \u0130li\u015fkisi<\/h3>\n<p>Eri\u015filebilirlik uygulamalar\u0131 genellikle SEO ile \u00f6rt\u00fc\u015f\u00fcr. \u00d6rne\u011fin, anlamsal HTML kullan\u0131m\u0131, do\u011fru ba\u015fl\u0131k hiyerar\u015fisi, alt metinler ve klavye navigasyonu, arama motorlar\u0131n\u0131n i\u00e7eri\u011finizi daha iyi anlamas\u0131na ve dizine eklemesine yard\u0131mc\u0131 olur. Temiz, iyi yap\u0131land\u0131r\u0131lm\u0131\u015f ve eri\u015filebilir kod genellikle daha iyi performans g\u00f6sterir.<\/p>\n<h3>Marka \u0130maj\u0131 ve Sosyal Sorumluluk<\/h3>\n<p>Eri\u015filebilirli\u011fe yat\u0131r\u0131m yapmak, bir \u015firketin sosyal sorumluluk bilincini ve kapsay\u0131c\u0131l\u0131\u011fa olan ba\u011fl\u0131l\u0131\u011f\u0131n\u0131 g\u00f6sterir. Bu, marka itibar\u0131n\u0131 g\u00fc\u00e7lendirir ve daha pozitif bir halk alg\u0131s\u0131 olu\u015fturur. G\u00fcn\u00fcm\u00fcz t\u00fcketicileri, etik de\u011ferlere sahip \u015firketleri tercih etme e\u011filimindedir.<\/p>\n<h2>En \u0130yi Uygulamalar ve \u0130pu\u00e7lar\u0131<\/h2>\n<p><code>eslint-plugin-jsx-a11y<\/code> harika bir ba\u015flang\u0131\u00e7 noktas\u0131 olsa da, tam eri\u015filebilirlik sa\u011flamak i\u00e7in daha fazlas\u0131 gereklidir.<\/p>\n<h3>Otomatik Denetimlerin \u00d6tesi<\/h3>\n<p>Linter'lar ve otomatik ara\u00e7lar, eri\u015filebilirlik sorunlar\u0131n\u0131n b\u00fcy\u00fck bir k\u0131sm\u0131n\u0131 yakalayabilir, ancak her \u015feyi kapsamazlar. Karma\u015f\u0131k etkile\u015fimler, ba\u011flam tabanl\u0131 sorunlar veya genel kullan\u0131c\u0131 deneyimi gibi konularda insan denetimi ve manuel testler vazge\u00e7ilmezdir.<\/p>\n<h3>Anlamsal HTML Kullan\u0131m\u0131<\/h3>\n<p>M\u00fcmk\u00fcn oldu\u011funca do\u011fru HTML elementlerini kullan\u0131n (<code><button><\/code> yerine <code><\/p>\n<div role=\"button\"><\/code> kullanmaktan ka\u00e7\u0131n\u0131n). Anlamsal HTML, taray\u0131c\u0131lara ve yard\u0131mc\u0131 teknolojilere sayfan\u0131z\u0131n yap\u0131s\u0131 ve i\u00e7eri\u011fi hakk\u0131nda de\u011ferli bilgiler sa\u011flar.<\/p>\n<h3>Klavye Navigasyonu<\/h3>\n<p>T\u00fcm etkile\u015fimli elementlerin klavye ile eri\u015filebilir ve kullan\u0131labilir oldu\u011fundan emin olun. Sekme tu\u015fu ile t\u00fcm odaklanabilir elementler aras\u0131nda ge\u00e7i\u015f yap\u0131labilmeli ve Enter\/Space tu\u015flar\u0131 ile etkile\u015fim kurulabilmelidir. Odak halkalar\u0131n\u0131n (focus rings) g\u00f6r\u00fcn\u00fcr oldu\u011fundan emin olun.<\/p>\n<h3>Ekran Okuyucu Testleri<\/h3>\n<p>Uygulaman\u0131z\u0131 VoiceOver (macOS), NVDA (Windows) veya JAWS (Windows) gibi ekran okuyucularla test edin. Bu, g\u00f6rme engelli bir kullan\u0131c\u0131n\u0131n sitenizi nas\u0131l deneyimledi\u011fini anlaman\u0131n en iyi yoludur.<\/p>\n<h3>Geli\u015ftirici Ekibini E\u011fitme<\/h3>\n<p>T\u00fcm geli\u015ftirici ekibinizin eri\u015filebilirlik ilkeleri konusunda bilgi sahibi olmas\u0131 \u00f6nemlidir. D\u00fczenli e\u011fitimler ve fark\u0131ndal\u0131k \u00e7al\u0131\u015fmalar\u0131, eri\u015filebilirli\u011fi geli\u015ftirme s\u00fcrecinin do\u011fal bir par\u00e7as\u0131 haline getirecektir.<\/p>\n<h2>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h2>\n<p>Eklentiyi kullan\u0131rken baz\u0131 yayg\u0131n durumlarla kar\u015f\u0131la\u015fabilirsiniz.<\/p>\n<h3>Yanl\u0131\u015f Pozitifler ve Nas\u0131l Y\u00f6netilir<\/h3>\n<p>Bazen <code>eslint-plugin-jsx-a11y<\/code>, \u00f6zel bile\u015fenleriniz veya belirli tasar\u0131m desenleriniz nedeniyle yanl\u0131\u015f pozitif uyar\u0131lar verebilir. Bu durumlarda, kural\u0131 belirli bir sat\u0131r veya dosya i\u00e7in devre d\u0131\u015f\u0131 b\u0131rakmak m\u00fcmk\u00fcn olsa da, \u00f6ncelikle alternatif ve eri\u015filebilir bir \u00e7\u00f6z\u00fcm bulmaya \u00e7al\u0131\u015fmal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Belirli bir sat\u0131r i\u00e7in kural\u0131 devre d\u0131\u015f\u0131 b\u0131rakma\n\/\/ eslint-disable-next-line jsx-a11y\/no-static-element-interactions\n<div onClick={handleClick}>T\u0131klanabilir Alan<\/div><\/pre>\n<p><\/code><\/p>\n<p>Ancak bu, son \u00e7are olmal\u0131 ve yaln\u0131zca kural\u0131n ger\u00e7ekten uygulanamad\u0131\u011f\u0131 veya yanl\u0131\u015f bir uyar\u0131 oldu\u011fu durumlarda kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h3>Custom Bile\u015fenlerde Eri\u015filebilirlik<\/h3>\n<p>Kendi \u00f6zel React bile\u015fenlerinizi olu\u015ftururken, bu bile\u015fenlerin de eri\u015filebilir oldu\u011fundan emin olmal\u0131s\u0131n\u0131z. \u00d6rne\u011fin, bir <code><CustomButton><\/code> bile\u015feni olu\u015fturuyorsan\u0131z, i\u00e7eride bir <code><button><\/code> elementi kullanmal\u0131 veya uygun ARIA rolleri ve \u00f6zelliklerini (<code>role=\"button\"<\/code>, <code>aria-pressed<\/code> vb.) sa\u011flamal\u0131s\u0131n\u0131z.<\/p>\n<h3>Dinamik \u0130\u00e7erik Y\u00f6netimi<\/h3>\n<p>SPA'larda (Tek Sayfa Uygulamalar\u0131) i\u00e7erik dinamik olarak de\u011fi\u015fti\u011finde, ekran okuyucular\u0131n bu de\u011fi\u015fikliklerden haberdar olmas\u0131 \u00f6nemlidir. <code>aria-live<\/code> b\u00f6lgeleri gibi ARIA \u00f6zelliklerini kullanarak, \u00f6nemli g\u00fcncellemelerin kullan\u0131c\u0131lara duyurulmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<h3>Kurallar\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma (ve ne zaman yap\u0131lmamal\u0131)<\/h3>\n<p>ESLint kurallar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak kolayd\u0131r, ancak bu karar\u0131 dikkatlice vermelisiniz. Bir kural\u0131 devre d\u0131\u015f\u0131 b\u0131rakmadan \u00f6nce, neden bu kural\u0131n var oldu\u011funu ve onu devre d\u0131\u015f\u0131 b\u0131rakman\u0131n potansiyel eri\u015filebilirlik etkilerini tam olarak anlamal\u0131s\u0131n\u0131z. Genellikle, bir kural\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak yerine, kodunuzu kurala uygun hale getirmek daha iyi bir yakla\u015f\u0131md\u0131r.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p><code>eslint-plugin-jsx-a11y<\/code>, React ve JSX tabanl\u0131 uygulamalar\u0131n\u0131zda eri\u015filebilirli\u011fi geli\u015ftirme yolculu\u011funuzda paha bi\u00e7ilmez bir m\u00fcttefiktir. Geli\u015ftirme s\u00fcrecinin erken a\u015famalar\u0131nda potansiyel sorunlar\u0131 tespit ederek, maliyetli d\u00fczeltmelerden ka\u00e7\u0131nman\u0131za ve herkes i\u00e7in daha kapsay\u0131c\u0131 bir web deneyimi sunman\u0131za yard\u0131mc\u0131 olur. Ancak unutmay\u0131n, bu eklenti sadece bir ara\u00e7t\u0131r; ger\u00e7ek eri\u015filebilirlik, geli\u015ftiricilerin bu konuya olan fark\u0131ndal\u0131\u011f\u0131 ve taahh\u00fcd\u00fcyle sa\u011flan\u0131r. Web'i herkes i\u00e7in daha iyi bir yer haline getirmek i\u00e7in eri\u015filebilirli\u011fi \u00f6nceliklendirelim!<\/p>\n<h2>SSS (S\u0131k Sorulan Sorular)<\/h2>\n<h3><code>eslint-plugin-jsx-a11y<\/code> sadece React i\u00e7in mi ge\u00e7erli?<\/h3>\n<p>Hay\u0131r, <code>eslint-plugin-jsx-a11y<\/code> \u00f6zellikle JSX s\u00f6zdizimi ile \u00e7al\u0131\u015fan t\u00fcm k\u00fct\u00fcphaneler ve framework'ler i\u00e7in kullan\u0131labilir. React en pop\u00fcler kullan\u0131m alan\u0131 olsa da, Preact, Vue (JSX ile kullan\u0131ld\u0131\u011f\u0131nda) veya di\u011fer JSX tabanl\u0131 projelerde de faydal\u0131d\u0131r.<\/p>\n<h3>T\u00fcm kurallar\u0131 etkinle\u015ftirmeli miyim?<\/h3>\n<p>Ba\u015flang\u0131\u00e7 i\u00e7in <code>plugin:jsx-a11y\/recommended<\/code> yap\u0131land\u0131rmas\u0131 iyi bir denge sunar. Daha kat\u0131 bir yakla\u015f\u0131m benimsemek isterseniz <code>plugin:jsx-a11y\/strict<\/code> kullanabilirsiniz. T\u00fcm kurallar\u0131 tek tek etkinle\u015ftirmek yerine, bu haz\u0131r yap\u0131land\u0131rmalar\u0131 kullanmak genellikle daha pratik ve etkilidir.<\/p>\n<h3>Kurallar\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak ne zaman uygun?<\/h3>\n<p>Kurallar\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak son \u00e7are olmal\u0131d\u0131r. Genellikle, kural\u0131n yanl\u0131\u015f pozitif oldu\u011fu veya mevcut teknolojilerle eri\u015filebilir bir alternatifin m\u00fcmk\u00fcn olmad\u0131\u011f\u0131 \u00e7ok \u00f6zel ve nadir durumlar i\u00e7in ayr\u0131lmal\u0131d\u0131r. Devre d\u0131\u015f\u0131 b\u0131rakmadan \u00f6nce, eri\u015filebilirlik uzmanlar\u0131na dan\u0131\u015fman\u0131z veya alternatif \u00e7\u00f6z\u00fcmler araman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<h3>Eri\u015filebilirlik i\u00e7in ba\u015fka hangi ara\u00e7lar\u0131 kullanmal\u0131y\u0131m?<\/h3>\n<p><code>eslint-plugin-jsx-a11y<\/code>'nin yan\u0131 s\u0131ra, taray\u0131c\u0131 eklentileri (Lighthouse, axe DevTools), manuel testler, ekran okuyucu testleri ve hatta ger\u00e7ek kullan\u0131c\u0131 testleri gibi ara\u00e7lar\u0131 ve y\u00f6ntemleri bir arada kullanmak, kapsaml\u0131 bir eri\u015filebilirlik stratejisi i\u00e7in \u00f6nemlidir.<\/p>\n<h3>WCAG standartlar\u0131na uymak neden \u00f6nemli?<\/h3>\n<p>WCAG standartlar\u0131na uymak, yasal y\u00fck\u00fcml\u00fcl\u00fckleri yerine getirmenin yan\u0131 s\u0131ra, uygulaman\u0131z\u0131n daha geni\u015f bir kitle taraf\u0131ndan kullan\u0131labilir olmas\u0131n\u0131 sa\u011flar. Bu, kullan\u0131c\u0131 deneyimini art\u0131r\u0131r, marka itibar\u0131n\u0131 g\u00fc\u00e7lendirir ve kapsay\u0131c\u0131 bir dijital ortam olu\u015fturulmas\u0131na katk\u0131da bulunur.<\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fcn\u00fcm\u00fcz web d\u00fcnyas\u0131nda kullan\u0131c\u0131 deneyimi her \u015feyden \u00f6nemli. Ancak bu deneyimin sadece belirli bir kesim i\u00e7in de\u011fil, herkes i\u00e7in eri\u015filebilir ol&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[128],"tags":[],"class_list":{"0":"post-37147","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-react","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz web d\u00fcnyas\u0131nda kullan\u0131c\u0131 deneyimi her \u015feyden \u00f6nemli. Ancak bu deneyimin sadece belirli bir kesim i\u00e7in de\u011fil, herkes i\u00e7in eri\u015filebilir ol...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-27T23:00:34+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak\",\"datePublished\":\"2025-12-27T23:00:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\"},\"wordCount\":2012,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"React\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\",\"name\":\"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-27T23:00:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/","og_locale":"tr_TR","og_type":"article","og_title":"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak","og_description":"G\u00fcn\u00fcm\u00fcz web d\u00fcnyas\u0131nda kullan\u0131c\u0131 deneyimi her \u015feyden \u00f6nemli. Ancak bu deneyimin sadece belirli bir kesim i\u00e7in de\u011fil, herkes i\u00e7in eri\u015filebilir ol...","og_url":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-27T23:00:34+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak","datePublished":"2025-12-27T23:00:34+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/"},"wordCount":2012,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["React"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/","url":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/","name":"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-27T23:00:34+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/eslint-plugin-jsx-a11y-react-uygulamalarinda-erisilebilirligi-garanti-altina-almak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"eslint-plugin-jsx-a11y: React Uygulamalar\u0131nda Eri\u015filebilirli\u011fi Garanti Alt\u0131na Almak"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37147"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37147\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}