{"id":2734492,"date":"2025-04-04T08:00:31","date_gmt":"2025-04-04T15:00:31","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2734492"},"modified":"2025-04-04T09:03:16","modified_gmt":"2025-04-04T16:03:16","slug":"optimize-your-popups-for-accessibility-and-internationalization","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization","title":{"rendered":"Optimize Your Popups for Accessibility and Internationalization"},"author":309572,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[777102,22941],"tags":[28911,779042],"industry":[],"product":[36551],"class_list":["post-2734492","blog","type-blog","status-publish","format-standard","hentry","category-arcade","category-mapping","tag-accessibility","tag-internationalization","product-arcgis-online"],"acf":{"authors":[{"ID":309572,"user_firstname":"Kitty","user_lastname":"Hurley","nickname":"Kitty Hurley","user_nicename":"khurley","display_name":"Kitty Hurley","user_email":"khurley@esri.com","user_url":"https:\/\/www.github.com\/geospatialem","user_registered":"2022-05-04 21:30:59","user_description":"Kitty is a Principal Product Engineer with Calcite Design System, passionate about expanding access to the web and maps for broader audiences. She is dedicated to creating inclusive, user-friendly web experiences that connect people and places through innovative design and technology. Outside of work, Kitty enjoys exploring the wilderness of Minnesota and has a goal to visit every major league baseball stadium across America.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/03\/Esri_Day2_PSCC2024_H_0127-e1710789483673-261x261.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"short_description":"Learn how to adopt internationalization and accessibility into popups to improve your UI\/UX supporting locales, regions, and a wider audience.","flexible_content":[{"acf_fc_layout":"image","image":{"ID":2747432,"id":2747432,"title":"","filename":"Squirrel-wide-updated.png","filesize":761985,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/squirrel-wide-updated","alt":"","author":"309572","description":"","caption":"","name":"squirrel-wide-updated","status":"inherit","uploaded_to":2734492,"date":"2025-04-03 22:17:24","modified":"2025-04-03 22:17:30","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1920,"height":1080,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","large-width":1920,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated-1536x864.png","1536x1536-width":1536,"1536x1536-height":864,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","2048x2048-width":1920,"2048x2048-height":1080,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","wide_image-width":1920,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><a href=\"https:\/\/developers.arcgis.com\/arcade\/\">Arcade&#8217;s<\/a> expression language enables feature data to be dynamically populated to support more locales and technologies, providing a more inclusive experience. In considering internationalization and accessibility in our popups, we can improve the popup&#8217;s UI\/UX and reach wider audiences. Before diving into the &#8220;how&#8221; to dynamically populate popup content, it&#8217;s important to consider the &#8220;why&#8221;, or purpose and intent of the data.<\/p>\n<p>This all started with the squirrels I saw on my daily walks. I wanted to identify the areas in my neighborhood where different squirrel morph colors resided and share the data with others. To reach a wider audience, the data needed to be available in multiple languages and interpretable by assistive technologies, such as screen-readers.<\/p>\n<p>To work towards a more inclusive popup design, I outlined the project\u2019s goal into steps that considered map visualization strategies, including:<\/p>\n<ol>\n<li><strong>Adding custom symbology to the squirrel data<\/strong>, so that the points would stand out on the map and encourage popup interaction<\/li>\n<li><strong>Creating dynamic popups<\/strong>\u00a0based on the squirrel data collection points<\/li>\n<li><strong>Providing support for the Spanish<\/strong>\u00a0(\u201ces\u201d) locale<\/li>\n<li><strong>Formatting dates<\/strong>\u00a0for the different locales<\/li>\n<li><strong>Conditionally adding popup content<\/strong>,\u00a0so that data attributes would only display when containing values<\/li>\n<li><strong>Providing alternative text for photos<\/strong>\u00a0to ensure non-visual context for those accessing the content through alternative methods<\/li>\n<li><strong>Formatting the popup\u2019s content in a table<\/strong>\u00a0to improve navigation for screen-readers<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Squirrel data collection<\/h2>\n<p>First, data collection structure \u2014 squirrel observations were collected daily and included:<\/p>\n<ul>\n<li><strong>Squirrel morph color<\/strong> (Black | White)<\/li>\n<li><strong>Observation type<\/strong> (Walk | Window)<\/li>\n<li><strong>Date<\/strong><\/li>\n<li><strong>Notes<\/strong>, <em>optional<\/em><\/li>\n<li><strong>Photo<\/strong>, <em>optional<\/em><\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2739832,"id":2739832,"title":"","filename":"Pepe.png","filesize":7313862,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/pepe","alt":"A black squirrel posed sitting on a branch.","author":"309572","description":"","caption":"","name":"pepe","status":"inherit","uploaded_to":2734492,"date":"2025-03-27 22:04:46","modified":"2025-03-27 22:05:55","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":4032,"height":3024,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe.png","medium-width":348,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe.png","medium_large-width":768,"medium_large-height":576,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe.png","large-width":1440,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe-1536x1152.png","1536x1536-width":1536,"1536x1536-height":1152,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe-2048x1536.png","2048x2048-width":2048,"2048x2048-height":1536,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe-620x465.png","card_image-width":620,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Pepe-1440x1080.png","wide_image-width":1440,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Data visualization<\/h2>\n<p>With the squirrel morph observations, data visualization considerations can add additional context to the squirrel sightings. The data visualization considerations can encourage popup interaction for audiences to learn more about the squirrel sightings. Additionally, vector basemaps can be used to enhance the visualization and offer support across multiple locales, depending on area of interest.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2740022,"id":2740022,"title":"","filename":"SpanishVectorLocale.png","filesize":370471,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/spanishvectorlocale","alt":"Basemap support for the Spanish locale.","author":"309572","description":"","caption":"","name":"spanishvectorlocale","status":"inherit","uploaded_to":2734492,"date":"2025-03-27 22:22:31","modified":"2025-03-27 22:24:18","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1127,"height":538,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","medium-width":464,"medium-height":222,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","medium_large-width":768,"medium_large-height":367,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","large-width":1127,"large-height":538,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","1536x1536-width":1127,"1536x1536-height":538,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","2048x2048-width":1127,"2048x2048-height":538,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale-826x394.png","card_image-width":826,"card_image-height":394,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SpanishVectorLocale.png","wide_image-width":1127,"wide_image-height":538}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h4>Basemap without reference<\/h4>\n<p>Alternatively, depending on the data and map purpose, the basemap\u2019s reference layer can be visually hidden. This provides a more focused perspective on the data, while still providing visual context from the basemap. For the squirrel morph data context, which was zoomed to the neighborhood scale, disabling the basemap\u2019s reference provides the best approach to highlight the squirrels on the map and thereby encourage more exploration and interaction with popups.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2739772,"id":2739772,"title":"","filename":"BasemapReference.png","filesize":438753,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/basemapreference","alt":"MapViewer basemap zoomed into the city of Minneapolis with the reference layer not displayed in the Light Gray Canvas basemap.","author":"309572","description":"","caption":"","name":"basemapreference","status":"inherit","uploaded_to":2734492,"date":"2025-03-27 21:57:27","modified":"2025-03-28 15:42:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1408,"height":670,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","medium-width":464,"medium-height":221,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","medium_large-width":768,"medium_large-height":365,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","large-width":1408,"large-height":670,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","1536x1536-width":1408,"1536x1536-height":670,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","2048x2048-width":1408,"2048x2048-height":670,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference-826x393.png","card_image-width":826,"card_image-height":393,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/BasemapReference.png","wide_image-width":1408,"wide_image-height":670}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3>Squirrel symbology<\/h3>\n<p>Using a unique squirrel symbol applied to the point data helped further distinguish the squirrel morph data. Each morph type was assigned a color: black or white. By using the &#8220;<em>Display features by value order&#8221;<\/em>\u00a0switch toggle found under Layer effects, prominence can be assigned to the more rare white morph squirrels on the map.<\/p>\n<div style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelData.png\" alt=\"Provide unique symbols to squirrels, including color and alter their order giving more prominence to rare colors using the 'Display features by value order' switch toggle.\" \/><\/div>\n<p>Additional data visualizations can be applied within the &#8220;<em>Style options<\/em>&#8221; panel, including point symbol rotation on white morphs and a drop shadow layer effect across all squirrel morph colors. This boosts contrast between the basemap and the squirrel morph data.<\/p>\n<div style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelSymbol.png\" alt=\"Adjust layer effects to provide more contrast between the basemap and your data using a drop shadow effect.\" \/><\/div>\n<div><\/div>\n"},{"acf_fc_layout":"content","content":"<h2>Configure popups with Arcade<\/h2>\n<p>With sufficient contrast established to encourage interaction with popups, let\u2019s shift focus to the popup contents and using Arcade. Arcade functions can be used in dynamic generation of the popup\u2019s contents that change based on the user\u2019s locale. Additionally, the popup\u2019s layout should be considered to support more assistive technologies.<\/p>\n<p>To learn more about using the locale in your app, explore the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/instant-apps\/mapping\/using-arcade-to-translate-pop-ups-for-use-in-the-arcgis-instant-apps#:~:text=Using%20Locale%20to%20Update%20Your%20App\">Using Arcade to Translate Pop-ups in ArcGIS Instant Apps<\/a> co-authored by Dominic Borrelli and Beth Romero.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2740082,"id":2740082,"title":"","filename":"SquirrelsMap.png","filesize":321107,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/squirrelsmap","alt":"Squirrel morph points depicted against the gray basemap without reference providing sufficient contrast so more users open and interact with the popups.","author":"309572","description":"","caption":"","name":"squirrelsmap","status":"inherit","uploaded_to":2734492,"date":"2025-03-27 22:27:24","modified":"2025-03-27 22:28:26","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1115,"height":559,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","medium-width":464,"medium-height":233,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","medium_large-width":768,"medium_large-height":385,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","large-width":1115,"large-height":559,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","1536x1536-width":1115,"1536x1536-height":559,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","2048x2048-width":1115,"2048x2048-height":559,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap-826x414.png","card_image-width":826,"card_image-height":414,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelsMap.png","wide_image-width":1115,"wide_image-height":559}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3>IIf function<\/h3>\n<p>The\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/logical_functions\/#iif\">IIf function<\/a> returns a value if the conditional expression evaluates to <code>true<\/code>, and returns an alternative value if <code>false<\/code>. The IIf function is one of the\u00a0<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/five-under-appreciated-arcade-functions\/#iif\">Five Under Appreciated Arcade Functions<\/a> Kristian Ekenes highlighted in 2023. The function is useful in scenarios with an either-or approach.<\/p>\n<p>We can use the function to provide Spanish text in place of English when the user\u2019s locale is set to Spanish (&#8220;es&#8221;) for our squirrel morph type data.\u00a0 Where &#8220;Black&#8221; will be replaced with &#8220;Negro&#8221;, otherwise the text will be set to &#8220;Blanco&#8221; (&#8220;White&#8221;).<\/p>\n<pre><code><span style=\"color: #d73a49\">var<\/span> morphColor = <span style=\"color: #e36209\">IIF<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Morph_type == <span style=\"color: #032f62\">\"Black\"<\/span>, <span style=\"color: #032f62\">\"Negro\"<\/span>, <span style=\"color: #032f62\">\"Blanco\"<\/span>);<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h3>GetEnvironment function<\/h3>\n<p>The\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/debugging_functions\/#getenvironment\">GetEnvironment function<\/a>\u00a0provides information about the context and environment where the Arcade expression is executed, including the locale of the client or system.<\/p>\n<p>To determine the locale context, a variable can be set to the function\u2019s locale. In this case, when the environment&#8217;s locale is set to Spanish (&#8220;es&#8221;), the IIf function will specify the popup\u2019s title for black squirrel morphs with a fallback of white. Where the locale is not Spanish, the English or default value from data collection will be returned.<\/p>\n<pre><code><span style=\"color: #d73a49\">var<\/span> locale = <span style=\"color: #e36209\">GetEnvironment<\/span>().locale;\r\n\r\n<span style=\"color: #d73a49\">if<\/span> (locale == <span style=\"color: #032f62\">\"es\"<\/span>) {\r\n  <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #e36209\">IIF<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Morph_type == <span style=\"color: #032f62\">\"Black\"<\/span>, \r\n             <span style=\"color: #032f62\">\"Avistamiento de ardilla de morfo negro\"<\/span>, \r\n             <span style=\"color: #032f62\">\"Avistamiento de ardilla de morfo blanco\"<\/span>);\r\n} <span style=\"color: #d73a49\">else<\/span> {\r\n  <span style=\"color: #d73a49\">return<\/span> <span style=\"color: #032f62\">`<span style=\"color: #24292e\">${$<span style=\"color: #e36209\">feature<\/span>.Morph_type}<\/span> morph squirrel sighting`<\/span>;\r\n}<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h3>Popup flair<\/h3>\n<p>Arcade can help to dynamically generate the squirrel morph color in the popups to provide more context and contrast. This is done through a <code>squirrelColor<\/code> variable, which stores the <code><span style=\"color: #e36209\">$feature<\/span>.Morph_type<\/code>. Also, depending on the <code>squirrelColor<\/code> value, another variable, <code>backgroundColor<\/code>, may also be stored.<\/p>\n<pre><code><span style=\"color: #6a737d\">\/\/ Dynamically generate squirrel color <\/span>\r\n<span style=\"color: #d73a49\">var<\/span> squirrelColor = <span style=\"color: #e36209\">$feature<\/span>.Morph_type;\r\n<span style=\"color: #d73a49\">var<\/span> backgroundColor = <span style=\"color: #e36209\">IIF<\/span>(squirrelColor == <span style=\"color: #032f62\">\"Black\"<\/span>, <span style=\"color: #032f62\">\"#ccc\"<\/span>, <span style=\"color: #032f62\">\"#000\"<\/span>);<\/code><\/pre>\n<p>In the popup\u2019s markup, a <code>span<\/code> element can return the styles dynamically from the <code>backgroundColor<\/code> and <code>squirrelColor<\/code> variables. The <code>morphColor<\/code> variable will contain a string value, which will be dynamically updated based on the locale. For example, if the locale is set to Spanish, then the string value will represent the color in Spanish, which will be defined in a later step.<\/p>\n<pre><code>&lt;<span style=\"color: #22863a\">span<\/span> <span style=\"color: #005cc5\">style<\/span>=<span style=\"color: #032f62\">\"background-color:${backgroundColor}; \r\n             color:${squirrelColor}\"<\/span>&gt;\r\n  &lt;<span style=\"color: #22863a\">b<\/span>&gt;${morphColor}&lt;\/<span style=\"color: #22863a\">b<\/span>&gt;\r\n&lt;\/<span style=\"color: #22863a\">span<\/span>&gt;<\/code><\/pre>\n<div style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupColor.png\" alt=\"\" \/><\/div>\n<div><\/div>\n"},{"acf_fc_layout":"content","content":"<h3>Text function<\/h3>\n<p>The\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/text_functions\/#text\">Text function<\/a> is useful in formatting text values and is commonly used in labeling and popups. In this case, the function will be set to display the observation date\u00a0for the Spanish or &#8220;es&#8221; locale of <code>\"D\/M\/YYYY\"<\/code>, which will update based on the user\u2019s locale, otherwise the default or English value will set to <code>\"MMM DD, YYYY\"<\/code>.<\/p>\n<pre><code><span style=\"color: #6a737d\">\/\/ Spanish or \"es\" locale date format<\/span>\r\n<span style=\"color: #d73a49\">var<\/span> dateValue = <span style=\"color: #e36209\">Text<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Observed_Date2, <span style=\"color: #032f62\">\"D\/M\/YYYY\"<\/span>);\r\n\r\n<span style=\"color: #6a737d\">\/\/ Default\/English date format<\/span>\r\n<span style=\"color: #d73a49\">var<\/span> dateValue = <span style=\"color: #e36209\">Text<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Observed_Date2, <span style=\"color: #032f62\">\"MMM DD, YYYY\"<\/span>);<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h3 id=\"setup-the-popup-for-locales\">Setup the popup for locales<\/h3>\n<p>Using some Arcade functions, the popups will use variables to display the formatted data attributes. The content will be added to a table in a later step so assistive technologies can access and interpret the data.<\/p>\n<p>To store the content, variables will contain a heading name and cell value for both languages; each data attribute should have a corresponding heading and value. For instance, in English locales (default), this would be a heading of &#8220;Morph type&#8221; and value of <code><span style=\"color: #e36209\">$feature<\/span>.Morph_type<\/code>.<\/p>\n<p>The &#8220;Notes\u201d and \u201cPhoto_URL&#8221; are optional fields, so their values will be present where content exists.<\/p>\n<pre><code><span style=\"color: #d73a49\">if<\/span> (locale == <span style=\"color: #032f62\">\"es\"<\/span>) {\r\n <span style=\"color: #d73a49\">var<\/span> morphHeading = <span style=\"color: #032f62\">\"Tipo de morfo\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> morphColor = <span style=\"color: #e36209\">IIF<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Morph_type == <span style=\"color: #032f62\">\"Black\"<\/span>, <span style=\"color: #032f62\">\"Negro\"<\/span>, <span style=\"color: #032f62\">\"Blanco\"<\/span>);\r\n <span style=\"color: #d73a49\">var<\/span> dateHeading = <span style=\"color: #032f62\">\"Fecha\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> dateValue = <span style=\"color: #e36209\">Text<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Observed_Date2, <span style=\"color: #032f62\">\"D\/M\/YYYY\"<\/span>);\r\n <span style=\"color: #d73a49\">var<\/span> observationHeading = <span style=\"color: #032f62\">\"Tipo de observaci\u00f3n\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> observationType = <span style=\"color: #e36209\">IIF<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Observation_Type == <span style=\"color: #032f62\">\"Walk\"<\/span>, <span style=\"color: #032f62\">\"Caminata\"<\/span>, <span style=\"color: #032f62\">\"Ventana\"<\/span>);\r\n <span style=\"color: #d73a49\">var<\/span> notesHeading = <span style=\"color: #032f62\">\"Notas, en Ingl\u00e9s\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> photoHeading = <span style=\"color: #032f62\">\"Foto\"<\/span>;\r\n} <span style=\"color: #d73a49\">else<\/span> {\r\n <span style=\"color: #d73a49\">var<\/span> morphHeading = <span style=\"color: #032f62\">\"Morph type\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> morphColor = <span style=\"color: #e36209\">$feature<\/span>.Morph_type;\r\n <span style=\"color: #d73a49\">var<\/span> dateHeading = <span style=\"color: #032f62\">\"Date\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> dateValue = <span style=\"color: #e36209\">Text<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Observed_Date2, <span style=\"color: #032f62\">\"MMM DD, YYYY\"<\/span>);\r\n <span style=\"color: #d73a49\">var<\/span> observationHeading = <span style=\"color: #032f62\">\"Observation type\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> observationType = <span style=\"color: #e36209\">$feature<\/span>.Observation_Type;\r\n <span style=\"color: #d73a49\">var<\/span> notesHeading = <span style=\"color: #032f62\">\"Notes\"<\/span>;\r\n <span style=\"color: #d73a49\">var<\/span> photoHeading = <span style=\"color: #032f62\">\"Photo\"<\/span>;\r\n}<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h2>Conditionally add popup content<\/h2>\n<h3>HasValue function<\/h3>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/feature_functions\/#hasvalue\">HasValue function<\/a> returns <code>true<\/code> if the feature has a given field, and if the field has a value. For instance, if there is a squirrel photo in the &#8220;Photo_URL&#8221; field, it will display the photo in the popup.<\/p>\n<pre><code><span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #e36209\">HasValue<\/span>(<span style=\"color: #e36209\">$feature<\/span>, <span style=\"color: #032f62\">\"Photo_URL\"<\/span>)) {\r\n  <span style=\"color: #6a737d\">\/\/ Do something<\/span>\r\n}<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h3>IsEmpty function<\/h3>\n<p>Alternatively, the <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/logical_functions\/#isempty\">IsEmpty function<\/a> returns <code>true<\/code> if the provided value is null or empty text. Similarly to the example above, if no photo is provided, additional logic can be handled in the popup.<\/p>\n<pre><code><span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #e36209\">IsEmpty<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Photo_URL)) {\r\n <span style=\"color: #6a737d\">\/\/ Do something else<\/span>\r\n}<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h3>Conditionally add notes<\/h3>\n<p>Next, using both the HasValue and IsEmpty functions, dynamically add notes to the popups when a value is present in the &#8220;Notes&#8221; field and does not contain a photo.<\/p>\n<p>To display the notes, a new table row (<code>\"tr\"<\/code>) is added with a table heading (<code>\"th\"<\/code>) \u2014 defined in the <a href=\"#setup-the-popup-for-locales\">Setup the popup for locales<\/a> section above \u2014 and the table data cell (<code>\"td\"<\/code>) containing the <code><span style=\"color: #032f62\"><span style=\"color: #24292e\">${$<span style=\"color: #e36209\">feature<\/span>.Notes}<\/span><\/span><\/code> value is also added. When the condition is not met, content will not be populated and an empty string (<code>\"\"<\/code>) will be displayed instead.<\/p>\n<p>When a photo is present, the &#8220;Notes&#8221; field will provide context to assistive technologies for the accompanying photo. This will be tackled in the next step.<\/p>\n<pre><code><span style=\"color: #6a737d\">\/\/ Display notes conditionally when provided and when no photo is present<\/span>\r\n<span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #e36209\">HasValue<\/span>(<span style=\"color: #e36209\">$feature<\/span>, <span style=\"color: #032f62\">\"Notes\"<\/span>) &amp;&amp; <span style=\"color: #e36209\">IsEmpty<\/span>(<span style=\"color: #e36209\">$feature<\/span>.Photo_URL)) {\r\n <span style=\"color: #d73a49\">var<\/span> squirrelNotes = <span style=\"color: #032f62\">`\r\n    &lt;tr&gt;\r\n      &lt;th&gt;\r\n        <span style=\"color: #24292e\">${notesHeading}<\/span>\r\n      &lt;\/th&gt;\r\n      &lt;td&gt;\r\n        <span style=\"color: #24292e\">${$<span style=\"color: #e36209\">feature<\/span>.Notes}<\/span>\r\n      &lt;\/td&gt;\r\n    &lt;\/tr&gt;`<\/span>\r\n} <span style=\"color: #d73a49\">else<\/span> {\r\n squirrelNotes = <span style=\"color: #032f62\">\"\"<\/span>;\r\n}<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h3>Conditionally add photos<\/h3>\n<p>The HasValue function can be used to display when a photo is provided in the &#8220;Photo_URL&#8221; field. During data collection, where a &#8220;Photo_URL&#8221; was specified, text was also required in &#8220;Notes&#8221; so a text description could later accompany the photo. To display the photo with additional context for assistive technologies across locales, an <code>alt<\/code> attribute, for alternative text, will be added to the image.<\/p>\n<p>Similar to the conditional notes composition, a new table row, table heading defined in the <a href=\"#setup-the-popup-for-locales\">Setup the popup for locales<\/a>\u00a0section, and table data cell are added. The data cell contains an <code>img<\/code>, where the <code>src<\/code> and <code>alt<\/code> attributes are comprised of the &#8220;Photo_URL&#8221; and &#8220;Notes&#8221; values respectively. When no photo is provided, content will not be added to the popup with an empty string (<code>\"\"<\/code>).<\/p>\n<pre><code><span style=\"color: #6a737d\">\/\/ Display a photo and include the note in the image's \"alt\" attribute<\/span>\r\n<span style=\"color: #d73a49\">if<\/span> (<span style=\"color: #e36209\">HasValue<\/span>(<span style=\"color: #e36209\">$feature<\/span>, <span style=\"color: #032f62\">\"Photo_URL\"<\/span>)) {\r\n <span style=\"color: #d73a49\">var<\/span> squirrelPhoto = \r\n   <span style=\"color: #032f62\">`&lt;tr&gt;\r\n      &lt;th&gt;\r\n        <span style=\"color: #24292e\">${photoHeading}<\/span>\r\n      &lt;\/th&gt;\r\n        &lt;td&gt;\r\n          &lt;img \r\n            src=\"<span style=\"color: #24292e\">${$<span style=\"color: #e36209\">feature<\/span>.Photo_URL}<\/span>\" \r\n            alt=\"<span style=\"color: #24292e\">${$<span style=\"color: #e36209\">feature<\/span>.Notes}<\/span>\" \/&gt;\r\n        &lt;\/td&gt;\r\n    &lt;\/tr&gt;`<\/span>\r\n} <span style=\"color: #d73a49\">else<\/span> {\r\n <span style=\"color: #d73a49\">var<\/span> squirrelPhoto = <span style=\"color: #032f62\">\"\"<\/span>;\r\n}<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h2>Format and display the popup in a table<\/h2>\n<p>With the popup\u2019s contents dynamically set to the locale and data attributes, a table is formatted in the popup\u2019s body to display the contents across locales and support assistive technologies.<\/p>\n<p>A <code>table<\/code> encompasses each data value with a table row, table heading, and table data cell.<\/p>\n<pre><code>\/\/ Return the content in a table format for more a11y and i18n support\r\nreturn { \r\n type : 'text', \r\n text : `&lt;<span style=\"color: #22863a\">table<\/span> <span style=\"color: #005cc5\">style<\/span>=<span style=\"color: #032f62\">\"text-align:left\"<\/span>&gt;\r\n           &lt;<span style=\"color: #22863a\">tr<\/span>&gt;\r\n                &lt;<span style=\"color: #22863a\">th<\/span>&gt;${morphHeading}&lt;\/<span style=\"color: #22863a\">th<\/span>&gt;\r\n                &lt;<span style=\"color: #22863a\">td<\/span>&gt;\r\n                  &lt;<span style=\"color: #22863a\">span<\/span> \r\n                     <span style=\"color: #005cc5\">style<\/span>=<span style=\"color: #032f62\">\"background-color:${backgroundColor};\r\n                     color:${squirrelColor}\"<\/span>&gt;\r\n                     &lt;<span style=\"color: #22863a\">b<\/span>&gt;${morphColor}&lt;\/<span style=\"color: #22863a\">b<\/span>&gt;\r\n                  &lt;\/<span style=\"color: #22863a\">span<\/span>&gt;\r\n                &lt;\/<span style=\"color: #22863a\">td<\/span>&gt; \r\n           &lt;\/<span style=\"color: #22863a\">tr<\/span>&gt;\r\n           &lt;<span style=\"color: #22863a\">tr<\/span>&gt;\r\n                &lt;<span style=\"color: #22863a\">th<\/span>&gt;${dateHeading}&lt;\/<span style=\"color: #22863a\">th<\/span>&gt;\r\n                &lt;<span style=\"color: #22863a\">td<\/span>&gt;${dateValue}&lt;\/<span style=\"color: #22863a\">td<\/span>&gt;\r\n           &lt;\/<span style=\"color: #22863a\">tr<\/span>&gt;\r\n           &lt;<span style=\"color: #22863a\">tr<\/span>&gt;\r\n                &lt;<span style=\"color: #22863a\">th<\/span>&gt;${observationHeading}&lt;\/<span style=\"color: #22863a\">th<\/span>&gt;\r\n                &lt;<span style=\"color: #22863a\">td<\/span>&gt;${observationType}&lt;\/<span style=\"color: #22863a\">td<\/span>&gt;\r\n           &lt;\/<span style=\"color: #22863a\">tr<\/span>&gt;\r\n                ${squirrelNotes}\r\n                ${squirrelPhoto}\r\n        &lt;\/<span style=\"color: #22863a\">table<\/span>&gt;`\r\n}\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h2>Squirrel popups by locale<\/h2>\n<p>White and black squirrel morph popups are now displayed dynamically depending on the locale and their attributes. When a photo is present, content is displayed in the popup with an alt attribute, and when no notes are provided, no notes are displayed in the popup.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2741222,"id":2741222,"title":"","filename":"SquirrelPopupEn.png","filesize":473795,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/squirrelpopupen","alt":"White and black squirrel morp popups displayed for data where a photo is displayed, where no notes are provided, and where notes but no photo are present depicting the different visual scenarios for different data collection.","author":"309572","description":"","caption":"","name":"squirrelpopupen","status":"inherit","uploaded_to":2734492,"date":"2025-03-28 15:56:20","modified":"2025-03-28 15:57:33","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1323,"height":743,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","medium_large-width":768,"medium_large-height":431,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","large-width":1323,"large-height":743,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","1536x1536-width":1323,"1536x1536-height":743,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","2048x2048-width":1323,"2048x2048-height":743,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEn.png","wide_image-width":1323,"wide_image-height":743}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Meanwhile, when a user has the Spanish or &#8220;es&#8221; locale set on their browser, the popup will display different content that coincides with the &#8220;es&#8221; locale, while also still displaying content dynamically when photos are provided.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2747342,"id":2747342,"title":"","filename":"SquirrelPopupEs-3.png","filesize":334771,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\/squirrelpopupes-3","alt":"White and black squirrel morp popups for the Spanish locale displayed for data where a photo is displayed, and where no notes are provided depicting the different visual scenarios for different data collection.","author":"309572","description":"","caption":"","name":"squirrelpopupes-3","status":"inherit","uploaded_to":2734492,"date":"2025-04-03 22:09:07","modified":"2025-04-03 22:09:21","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1343,"height":701,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","medium-width":464,"medium-height":242,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","medium_large-width":768,"medium_large-height":401,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","large-width":1343,"large-height":701,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","1536x1536-width":1343,"1536x1536-height":701,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","2048x2048-width":1343,"2048x2048-height":701,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3-826x431.png","card_image-width":826,"card_image-height":431,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/SquirrelPopupEs-3.png","wide_image-width":1343,"wide_image-height":701}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Further exploration<\/h2>\n<p>Arcade capabilities can be a powerful advantage when working with popups to ensure data is delivered effectively and to a more diverse audience. Curious about continuing to build internationalization and accessibility into your solutions? Explore more with Arcade and Internationalization support with the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/instant-apps\/mapping\/using-arcade-to-translate-pop-ups-for-use-in-the-arcgis-instant-apps\/\">Using Arcade to Translate Popups<\/a> and <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/five-under-appreciated-arcade-functions\/\">Five under-appreciated Arcade functions<\/a> blog posts.<\/p>\n<p>If you are new to accessibility or want to brush up on your skills, visit Esri Academy&#8217;s new free <a href=\"https:\/\/www.esri.com\/training\/catalog\/67a23755a9503dbe04525bf7\/digital-accessibility-fundamentals\/\">Digital Accessibility Fundamentals<\/a>. The fundamentals offer an introduction to digital accessibility in GIS and designing GIS applications with accessibility to apply accessibility concepts to your solutions.<\/p>\n"}],"related_articles":"","show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-card-updated.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Optimize Your Popups for Accessibility and Internationalization<\/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:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optimize Your Popups for Accessibility and Internationalization\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-04T16:03:16+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\"},\"author\":{\"name\":\"Kitty Hurley\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d3e2f690ee8951f6625010e5b55aee8\"},\"headline\":\"Optimize Your Popups for Accessibility and Internationalization\",\"datePublished\":\"2025-04-04T15:00:31+00:00\",\"dateModified\":\"2025-04-04T16:03:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"accessibility\",\"internationalization\"],\"articleSection\":[\"Arcade\",\"Mapping\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\",\"name\":\"Optimize Your Popups for Accessibility and Internationalization\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2025-04-04T15:00:31+00:00\",\"dateModified\":\"2025-04-04T16:03:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Optimize Your Popups for Accessibility and Internationalization\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d3e2f690ee8951f6625010e5b55aee8\",\"name\":\"Kitty Hurley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/03\/Esri_Day2_PSCC2024_H_0127-e1710789483673-261x261.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/03\/Esri_Day2_PSCC2024_H_0127-e1710789483673-261x261.jpg\",\"caption\":\"Kitty Hurley\"},\"description\":\"Kitty is a Principal Product Engineer with Calcite Design System, passionate about expanding access to the web and maps for broader audiences. She is dedicated to creating inclusive, user-friendly web experiences that connect people and places through innovative design and technology. Outside of work, Kitty enjoys exploring the wilderness of Minnesota and has a goal to visit every major league baseball stadium across America.\",\"sameAs\":[\"https:\/\/www.github.com\/geospatialem\",\"https:\/\/www.linkedin.com\/in\/khurley\",\"https:\/\/x.com\/geospatialem\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/khurley\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Optimize Your Popups for Accessibility and Internationalization","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:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization","og_locale":"en_US","og_type":"article","og_title":"Optimize Your Popups for Accessibility and Internationalization","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-04-04T16:03:16+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization"},"author":{"name":"Kitty Hurley","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d3e2f690ee8951f6625010e5b55aee8"},"headline":"Optimize Your Popups for Accessibility and Internationalization","datePublished":"2025-04-04T15:00:31+00:00","dateModified":"2025-04-04T16:03:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization"},"wordCount":7,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["accessibility","internationalization"],"articleSection":["Arcade","Mapping"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization","name":"Optimize Your Popups for Accessibility and Internationalization","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2025-04-04T15:00:31+00:00","dateModified":"2025-04-04T16:03:16+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/optimize-your-popups-for-accessibility-and-internationalization#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Optimize Your Popups for Accessibility and Internationalization"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/1d3e2f690ee8951f6625010e5b55aee8","name":"Kitty Hurley","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/03\/Esri_Day2_PSCC2024_H_0127-e1710789483673-261x261.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/03\/Esri_Day2_PSCC2024_H_0127-e1710789483673-261x261.jpg","caption":"Kitty Hurley"},"description":"Kitty is a Principal Product Engineer with Calcite Design System, passionate about expanding access to the web and maps for broader audiences. She is dedicated to creating inclusive, user-friendly web experiences that connect people and places through innovative design and technology. Outside of work, Kitty enjoys exploring the wilderness of Minnesota and has a goal to visit every major league baseball stadium across America.","sameAs":["https:\/\/www.github.com\/geospatialem","https:\/\/www.linkedin.com\/in\/khurley","https:\/\/x.com\/geospatialem"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/khurley"}]}},"text_date":"April 4, 2025","author_name":"Kitty Hurley","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/khurley","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/03\/Squirrel-wide-updated.png","primary_product":"ArcGIS Online","tag_data":[{"term_id":28911,"name":"accessibility","slug":"accessibility","term_group":0,"term_taxonomy_id":28911,"taxonomy":"post_tag","description":"","parent":0,"count":71,"filter":"raw"},{"term_id":779042,"name":"internationalization","slug":"internationalization","term_group":0,"term_taxonomy_id":779042,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"}],"category_data":[{"term_id":777102,"name":"Arcade","slug":"arcade","term_group":0,"term_taxonomy_id":777102,"taxonomy":"category","description":"","parent":0,"count":98,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2698,"filter":"raw"}],"product_data":[{"term_id":36551,"name":"ArcGIS Online","slug":"arcgis-online","term_group":0,"term_taxonomy_id":36551,"taxonomy":"product","description":"","parent":0,"count":2433,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-online","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2734492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/309572"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2734492"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2734492\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2734492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2734492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2734492"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2734492"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2734492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}