{"id":117,"date":"2022-09-28T14:25:20","date_gmt":"2022-09-28T14:25:20","guid":{"rendered":"https:\/\/www.w3.org\/community\/maps4html\/?p=117"},"modified":"2022-09-28T14:25:22","modified_gmt":"2022-09-28T14:25:22","slug":"why-spatial-is-very-special","status":"publish","type":"post","link":"https:\/\/www.w3.org\/community\/maps4html\/2022\/09\/28\/why-spatial-is-very-special\/","title":{"rendered":"Why Spatial Is Very Special"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"web-semantics\"><strong><span style=\"color:#217364\" class=\"has-inline-color\">Web Semantics<\/span><span style=\"color:#207364\" class=\"has-inline-color\"><sup><a href=\"#semantics\" data-type=\"internal\" data-id=\"#semantics\">1<\/a><\/sup><\/span><\/strong><\/h2>\n\n\n\n<p>TL;DR: \u201cmachines\u201d use the HTML structure of Web pages to enable the coherent transmission of the document content\u2019s meaning to the user. Maps and locations are not currently reflected in HTML\u2019s structure, nor browser rendering engines, and so a) their meaning is proprietary to Web sites, concocted as they are, from ever-more-opaque code, and b) Web-based assistive technology, aka \u201cmachines\u201d, are unable to follow the markup that might convey locations to users, and so the machines need hints, which are <a href=\"https:\/\/github.com\/Malvoz\/web-maps-wcag-evaluation\/blob\/master\/README.md\" target=\"_blank\" rel=\"nofollow\">typically omitted or badly implemented<\/a>.\u00a0 Maps and location are important for everyone, but <em>especially important for non-visual users<\/em> who must rely on textual location descriptions and search. Maps and location semantics may also be important on the Web for future applications such as the metaverse, digital twins, smart cities, the Web of Things, spatial data infrastructure, indoor mapping and autonomous vehicles, to name a few.\u00a0 To <span style=\"text-decoration: underline\">sustainably<\/span> and <a href=\"https:\/\/geoscan.nrcan.gc.ca\/starweb\/geoscan\/servlet.starweb?path=geoscan\/shorte.web&amp;search1=R=329856\" target=\"_blank\" rel=\"nofollow\">fairly<\/a> enable these applications on the Web, maps and location should be integrated in the browser engines, with standardised HTML semantics.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<ol id=\"semantics\" class=\"has-small-font-size wp-block-list\"><li>The usage of the word \u201csemantics\u201d in this document is distinct from that of its usage in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Semantic_Web\" target=\"_blank\" rel=\"nofollow\">Semantic Web<\/a>. The latter is not discussed here.<\/li><li><a href=\"https:\/\/tink.uk\/understanding-semantics\/\" target=\"_blank\" rel=\"nofollow\">Understanding semantics &#8211; Tink<\/a><\/li><\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><span style=\"color:#1f7465\" class=\"has-inline-color\">HTML semantics are for a11y<\/span><\/strong><span style=\"color:#1e7061\" class=\"has-inline-color\"><strong><sup><a href=\"#semantics\" data-type=\"internal\" data-id=\"#semantics\">2<\/a><\/sup><\/strong><\/span><\/h4>\n\n\n\n<p>Web pages contain a mix of structure (HTML markup) and content (text, images, media, etc). Web pages are structured using HTML elements so that the \u201cmachines\u201d that process them (browsers, screen readers, search engine crawlers, etc) understand what the parts are and can render or process them accordingly. Machines process HTML element structure, so that humans can consume and understand the meaning of the HTML contents. The standardised meaning accorded HTML elements (structure) is often described as <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/semantics#semantics_in_html\" target=\"_blank\" rel=\"nofollow\">HTML <em>semantics<\/em><\/a>, which refers to how that markup is specified and how it is intended to be processed. The contents of an HTML page also have meaning (for humans, mostly), and it is the raison d&#8217;\u00eatre of browsers and assistive technology to facilitate the transmission of the images\u2019, graphics\u2019 and text\u2019s meaning to the user, through graphic or other rendering techniques.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span style=\"color:#1e7061\" class=\"has-inline-color\">Web maps model physical space, just like words model conceptual space<\/span><\/h4>\n\n\n\n<p>In an analogous way that humans use language and text to convey ideas, Web maps describe the physical world with coordinate reference systems (CRS) and math (of course). That is, maps <a href=\"https:\/\/fs.blog\/map-and-territory\/\" target=\"_blank\" rel=\"nofollow\">may reflect the real, physical world<\/a>. The relation between this model and the real world can easily be experienced, right now, by anyone with a smartphone, by viewing your device\u2019s location, rendered on a web map, as a symbol:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation-485x1024.png\" alt=\"My phone's location represented on a OpenStreetMap map of North America\" class=\"wp-image-122\" width=\"243\" height=\"512\" srcset=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation-485x1024.png 485w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation-142x300.png 142w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation-768x1621.png 768w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation-728x1536.png 728w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/geolocation.png 864w\" sizes=\"auto, (max-width: 243px) 100vw, 243px\" \/><\/a><figcaption>Map showing user location<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p>An example of well-known CRS coordinates are provided by the WGS 84<sup><a href=\"#wgs84\" data-type=\"internal\" data-id=\"#wgs84\">3<\/a><\/sup> coordinates reported for your device by its Global Positioning System (GPS) sensor. The geospatial standards community has spent decades of effort, and billions of dollars defining and standardising the details of spatial CRS, to enable geographic information to be processed and rendered by machines, for use by humans. These coordinates represent the most fundamental map semantics.\u00a0 The relationship between the multi-billion dollar GPS CRS system and the map on your phone is today provided exclusively by the JavaScript on the page, not by the browser engine.\u00a0 In other words, the browser doesn\u2019t \u2018understand\u2019 the map, it leaves that up to each site, with a very few, very large sites dominating and brokering that space.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<p class=\"has-small-font-size\" id=\"wgs84\">3. <a href=\"https:\/\/www.gwg.nga.mil\/documents\/csmwg\/MIL-STD-2401.pdf\" target=\"_blank\" rel=\"nofollow\">About This Standard<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go-500x1024.png\" alt=\"A screenshot of a Pok\u00e9mon Go map, showing the user's location\" class=\"wp-image-120\" width=\"250\" height=\"512\" srcset=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go-500x1024.png 500w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go-146x300.png 146w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go-768x1574.png 768w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go-749x1536.png 749w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/pokemon-go.png 864w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><figcaption>Pok\u00e9mon Go Map<\/figcaption><\/figure>\n\n\n\n<p>Extended and augmented reality (XR, AR) can also be models of reality, collectively known as the Immersive Web. The (potential) commonality between the Immersive Web and Web maps is that, to some degree, they each represent <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pok%C3%A9mon_Go\" target=\"_blank\" rel=\"nofollow\">physical and virtual reality integrated together<\/a>, sometimes relying on user device sensors to \u201cplace\u201d\u00a0 the user into the virtual representation, as shown by both our Web map examples above.\u00a0 The value of placing the user into a virtual representation of reality, be it a 2D map or 3D representation, lies in the\u00a0 <strong>accessibility<\/strong>, <strong>privacy<\/strong> and <strong>performance<\/strong> delivered by HTML semantics, and rendered by browsers for the benefit of the user. Such value can only be realised only if all Web sites have a simple (declarative), open (standard) and fair way to represent physical reality that does not depend for existence on procedural browser extension (JavaScript, WebGL, WASM etc.).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript-485x1024.png\" alt=\"A humourous image of a cartoon Sherlock Holmes, with the caption: &quot;When you have eliminated the JavaScript, whatever remains must be an empty page.  Enable JavaScript to use Google Maps.&quot;\" class=\"wp-image-119\" width=\"243\" height=\"512\" srcset=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript-485x1024.png 485w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript-142x300.png 142w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript-768x1621.png 768w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript-728x1536.png 728w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/noscript.png 864w\" sizes=\"auto, (max-width: 243px) 100vw, 243px\" \/><\/a><figcaption>Web maps require JavaScript<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><span style=\"color:#1e7061\" class=\"has-inline-color\">When everyone is responsible (for map accessibility), no one is responsible<\/span><\/h4>\n\n\n\n<p>A key argument against extending or even relying on JavaScript to deliver map and location semantics to the user (even if a non-DOM standard library did exist) is that providing accessibility for maps and location content for the Web then becomes the responsibility of individual Web sites and <a href=\"https:\/\/github.com\/Malvoz\/web-maps-wcag-evaluation\/blob\/master\/README.md\" target=\"_blank\" rel=\"nofollow\">library developers<\/a>.&nbsp; When everyone is responsible for creating accessible content, when that content is or must be created with JavaScript, canvas, or WebGL, or WASM, inaccessible content is often the result. Other essential characteristics of the Web besides accessibility are also lost or harmed when JavaScript is used as a substitute for HTML semantics, including: performance, generality, internationalisation, and crawl- and search-ability. In short, while JavaScript (and its sidekick JSON) is a fantastic language to progressively enhance the Web experience, it should not be looked to as a focus for Web standardisation of mapping.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos-1024x488.png\" alt=\"Many Web map provider logos\" class=\"wp-image-118\" width=\"512\" height=\"244\" srcset=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos-1024x488.png 1024w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos-300x143.png 300w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos-768x366.png 768w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos-1536x733.png 1536w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/logos.png 1650w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Third-party Web map providers<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><span style=\"color:#1e7061\" class=\"has-inline-color\">What is \u201cspecial\u201d about spatial?<\/span><\/h4>\n\n\n\n<p>At our recent Maps for HTML community meeting in September 2022, we had the beginnings of a really interesting, and I believe important <a href=\"https:\/\/www.w3.org\/2022\/09\/12-m4h-minutes.html\">discussion<\/a>, about the intimate relationship between accessibility, map semantics, and rendering.\u00a0 Boaz Sender, from <a href=\"https:\/\/bocoup.com\/blog\/no-neutral-map\" target=\"_blank\" rel=\"nofollow\">Bocoup<\/a>, showed us an example of a prototype browser intervention that they have been researching, using a dynamic Leaflet-powered, OpenStreetMap-backed map of Denver, Colorado.\u00a0 The \u201cintervention\u201d part was where the whole map, and especially the set of features highlighted on the map was rendered on request, not graphically, but in an alternate \u201c<a href=\"https:\/\/en.wikipedia.org\/wiki\/Model%E2%80%93view%E2%80%93controller#Components\" target=\"_blank\" rel=\"nofollow\">view<\/a>\u201d representing the map as a simple text list.\u00a0 This seems to be a prototype implementation of a really important idea, and <a href=\"https:\/\/github.com\/Maps4HTML\/HTML-Map-Element-UseCases-Requirements\/issues\/256\" target=\"_blank\" rel=\"nofollow\">one that has come up before<\/a> in our community, and it is an idea that is gaining traction in the <a href=\"https:\/\/www.goodmaps.com\/apps\/explore#:~:text=as%20a%20destination.-,Lookaround,-Direction%2Dbased%20discovery\" target=\"_blank\" rel=\"nofollow\">mobile app world<\/a> (yes, the Web Platform community should pay attention &#8211; mobile apps surpass the Web by far in location-based usage).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/denver-map.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/denver-map.png\" alt=\"A Leaflet.js Web map of Denver, showing a few point, line and polygon features in the map region\" class=\"wp-image-121\" width=\"381\" height=\"256\" srcset=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/denver-map.png 761w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/denver-map-300x202.png 300w\" sizes=\"auto, (max-width: 381px) 100vw, 381px\" \/><\/a><figcaption>A Leaflet.js Web map of Denver<\/figcaption><\/figure>\n\n\n\n<p>Ed Parsons raised what I consider to be a profound question about the Denver map example: What is it about the map, besides being visually obvious to someone familiar with United States geography, that tells us that it\u2019s a map of Denver?\u00a0 Even the text list representation of the map might not indicate that these are features from Denver, and the map itself even might not be labelled as such, despite the importance of such labelling.\u00a0 Still, there is something significant about the meaning of that map that is instantly obvious to users of its visual rendering that is clearly missing from the current Web.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span style=\"color:#1e7061\" class=\"has-inline-color\">Globally shared coordinate semantics, defined by a Web standard<\/span><\/h4>\n\n\n\n<p>What\u2019s missing is the ability to represent Denver in a way that isn\u2019t ephemeral, nor accessible only to sighted users.&nbsp; What\u2019s missing is the ability to represent and render the coordinate space of the Earth and things on Earth in a standard way that is shared by everyone.&nbsp; What\u2019s missing is maps and locations in HTML, implemented and supported by Web browser engines, for everyone!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree-1024x606.jpg\" alt=\"A tree has fallen on a forest floor, but we can't tell if it made a sound when falling.  By analogy, if there isn't a sighted human present to consume a Web map, does the map actually mean anything?  The answer is no.\" class=\"wp-image-128\" width=\"512\" height=\"303\" srcset=\"https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree-1024x606.jpg 1024w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree-300x178.jpg 300w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree-768x455.jpg 768w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree-1536x909.jpg 1536w, https:\/\/www.w3.org\/community\/maps4html\/files\/2022\/09\/fallen-tree.jpg 1549w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>A tree has fallen in a forest. Did it make a sound?<\/figcaption><\/figure>\n\n\n\n<p>In my next post, I&#8217;ll explore what we&#8217;re doing in the Maps for HTML Community Group to change the status quo.  See you then, I hope!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web Semantics1 TL;DR: \u201cmachines\u201d use the HTML structure of Web pages to enable the coherent transmission of the document content\u2019s meaning to the user. Maps and locations are not currently reflected in HTML\u2019s structure, nor browser rendering engines, and so &hellip; <a href=\"https:\/\/www.w3.org\/community\/maps4html\/2022\/09\/28\/why-spatial-is-very-special\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2111,"featured_media":121,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"yes","footnotes":""},"categories":[1],"tags":[12,20,21,19,6],"class_list":["post-117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-html","tag-maps","tag-semantics","tag-spatial","tag-web-maps"],"_links":{"self":[{"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/posts\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/users\/2111"}],"replies":[{"embeddable":true,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":17,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/posts\/117\/revisions"}],"predecessor-version":[{"id":145,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/posts\/117\/revisions\/145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/media\/121"}],"wp:attachment":[{"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/media?parent=117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/categories?post=117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.w3.org\/community\/maps4html\/wp-json\/wp\/v2\/tags?post=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}