From 92aef6abbe08bb6080b900f96c61a5c102da7f62 Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Mon, 17 Jun 2024 13:58:13 +0000 Subject: [PATCH] main: update documentation --- doc/RFC_XR_Fragments.html | 14 +++- doc/RFC_XR_Fragments.md | 38 ++++++---- doc/RFC_XR_Fragments.txt | 150 ++++++++++++++++++++++++++------------ doc/RFC_XR_Fragments.xml | 15 +++- 4 files changed, 151 insertions(+), 66 deletions(-) diff --git a/doc/RFC_XR_Fragments.html b/doc/RFC_XR_Fragments.html index bb641fa..4bc93eb 100644 --- a/doc/RFC_XR_Fragments.html +++ b/doc/RFC_XR_Fragments.html @@ -1618,8 +1618,7 @@ Spec:

  • The enduser must be able to enable an accessibility-mode (which persists across application/webpage restarts)
  • Accessibility-mode must contain a text-input for the user to enter text
  • Accessibility-mode must contain a flexible textlog for the user to read (via screenreader, screen, or TTS e.g.)
  • -
  • the textlog contains aria-descriptions, and its narration (Screenreader e.g.) can be skipped (via cycling href’s, see next rule)
  • -
  • href’s can be cycled via tab (keyboard) or ‘skip’ command
  • +
  • the textlog contains aria-descriptions, and its narration (Screenreader e.g.) can be skipped (via 2-button navigation)
  • The back command should navigate back to the previous URL (alias for browser-backbutton)
  • The forward command should navigate back to the next URL (alias for browser-nextbutton)
  • A destination is a 3D node containing an href with a pos= XR fragment
  • @@ -1635,6 +1634,17 @@ Spec:

  • The (dynamic) do abc command should navigate/execute https://.../... in case a 3D node exist with name abc and href value https://.../...
  • +

    Two-button navigation

    + +

    For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals will not be available.
    +Therefore a 2-button navigation-interface is the bare minimum interface:

    + +
      +
    1. objects with href metadata can be cycled via a key (tab on a keyboard)
    2. +
    3. objects with href metadata can be activated via a key (enter on a keyboard)
    4. +
    5. the TTS reads the href-value (and/or aria-description if available)
    6. +
    +

    Security Considerations

    The only dynamic parts are W3C Media Fragments and URI Templates (RFC6570).
    diff --git a/doc/RFC_XR_Fragments.md b/doc/RFC_XR_Fragments.md index 295f80a..66f1a3f 100644 --- a/doc/RFC_XR_Fragments.md +++ b/doc/RFC_XR_Fragments.md @@ -1065,23 +1065,31 @@ Spec:

    1. The enduser must be able to enable an accessibility-mode (which persists across application/webpage restarts) 2. Accessibility-mode must contain a text-input for the user to enter text 3. Accessibility-mode must contain a flexible textlog for the user to read (via screenreader, screen, or TTS e.g.) -4. the textlog contains `aria-descriptions`, and its narration (Screenreader e.g.) can be skipped (via cycling href's, see next rule) -5. href's can be cycled via tab (keyboard) or 'skip' command -6. The `back` command should navigate back to the previous URL (alias for browser-backbutton) -7. The `forward` command should navigate back to the next URL (alias for browser-nextbutton) -8. A destination is a 3D node containing an `href` with a `pos=` XR fragment -9. The `go` command should list all possible destinations -10. The `go left` command should move the camera around 0.3 meters to the left -11. The `go right` command should move the camera around 0.3 meters to the right -12. The `go forward` command should move the camera 0.3 meters forward (direction of current rotation). -13. The `rotate left` command should rotate the camera 0.3 to the left -14. The `rotate left` command should rotate the camera 0.3 to the right -15. The (dynamic) `go abc` command should navigate to `#pos=scene2` in case there's a 3D node with name `abc` and `href` value `#pos=scene2` -16. The `look` command should give an (contextual) 3D-to-text transcript, by scanning the `aria-description` values of the current `pos=` value (including its children) -17. The `do` command should list all possible `href` values which don't contain an `pos=` XR Fragment -18. The (dynamic) `do abc` command should navigate/execute `https://.../...` in case a 3D node exist with name `abc` and `href` value `https://.../...` +4. the textlog contains `aria-descriptions`, and its narration (Screenreader e.g.) can be skipped (via 2-button navigation) +5. The `back` command should navigate back to the previous URL (alias for browser-backbutton) +6. The `forward` command should navigate back to the next URL (alias for browser-nextbutton) +7. A destination is a 3D node containing an `href` with a `pos=` XR fragment +8. The `go` command should list all possible destinations +9. The `go left` command should move the camera around 0.3 meters to the left +10. The `go right` command should move the camera around 0.3 meters to the right +11. The `go forward` command should move the camera 0.3 meters forward (direction of current rotation). +12. The `rotate left` command should rotate the camera 0.3 to the left +13. The `rotate left` command should rotate the camera 0.3 to the right +14. The (dynamic) `go abc` command should navigate to `#pos=scene2` in case there's a 3D node with name `abc` and `href` value `#pos=scene2` +15. The `look` command should give an (contextual) 3D-to-text transcript, by scanning the `aria-description` values of the current `pos=` value (including its children) +16. The `do` command should list all possible `href` values which don't contain an `pos=` XR Fragment +17. The (dynamic) `do abc` command should navigate/execute `https://.../...` in case a 3D node exist with name `abc` and `href` value `https://.../...` +## Two-button navigation + +For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals will not be available.
    +Therefore a 2-button navigation-interface is the bare minimum interface: + +1. objects with href metadata can be cycled via a key (tab on a keyboard) +2. objects with href metadata can be activated via a key (enter on a keyboard) +3. the TTS reads the href-value (and/or aria-description if available) + # Security Considerations The only dynamic parts are [W3C Media Fragments](https://www.w3.org/TR/media-frags/) and [URI Templates (RFC6570)](https://www.rfc-editor.org/rfc/rfc6570).
    diff --git a/doc/RFC_XR_Fragments.txt b/doc/RFC_XR_Fragments.txt index 0ce7700..1fecd4e 100644 --- a/doc/RFC_XR_Fragments.txt +++ b/doc/RFC_XR_Fragments.txt @@ -116,12 +116,13 @@ Internet-Draft XR Fragments June 2024 21. Additional scene metadata . . . . . . . . . . . . . . . . . . 35 22. Accessibility interface . . . . . . . . . . . . . . . . . . . 37 + 22.1. Two-button navigation . . . . . . . . . . . . . . . . . 37 23. Security Considerations . . . . . . . . . . . . . . . . . . . 38 24. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 - 25. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 + 25. authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 26. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 27. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 39 - 28. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 39 + 28. Appendix: Definitions . . . . . . . . . . . . . . . . . . . . 40 1. Introduction @@ -164,7 +165,6 @@ Internet-Draft XR Fragments June 2024 - van Kammen Expires 19 December 2024 [Page 3] Internet-Draft XR Fragments June 2024 @@ -2032,40 +2032,40 @@ Internet-Draft XR Fragments June 2024 3. Accessibility-mode must contain a flexible textlog for the user to read (via screenreader, screen, or TTS e.g.) 4. the textlog contains aria-descriptions, and its narration - (Screenreader e.g.) can be skipped (via cycling href's, see next - rule) - 5. href's can be cycled via tab (keyboard) or 'skip' command - 6. The back command should navigate back to the previous URL (alias + (Screenreader e.g.) can be skipped (via 2-button navigation) + 5. The back command should navigate back to the previous URL (alias for browser-backbutton) - 7. The forward command should navigate back to the next URL (alias + 6. The forward command should navigate back to the next URL (alias for browser-nextbutton) - 8. A destination is a 3D node containing an href with a pos= XR + 7. A destination is a 3D node containing an href with a pos= XR fragment - 9. The go command should list all possible destinations - 10. The go left command should move the camera around 0.3 meters to + 8. The go command should list all possible destinations + 9. The go left command should move the camera around 0.3 meters to the left - 11. The go right command should move the camera around 0.3 meters to + 10. The go right command should move the camera around 0.3 meters to the right - 12. The go forward command should move the camera 0.3 meters forward + 11. The go forward command should move the camera 0.3 meters forward (direction of current rotation). - 13. The rotate left command should rotate the camera 0.3 to the left - 14. The rotate left command should rotate the camera 0.3 to the + 12. The rotate left command should rotate the camera 0.3 to the left + 13. The rotate left command should rotate the camera 0.3 to the right - 15. The (dynamic) go abc command should navigate to #pos=scene2 in + 14. The (dynamic) go abc command should navigate to #pos=scene2 in case there's a 3D node with name abc and href value #pos=scene2 - 16. The look command should give an (contextual) 3D-to-text + 15. The look command should give an (contextual) 3D-to-text transcript, by scanning the aria-description values of the current pos= value (including its children) - 17. The do command should list all possible href values which don't + 16. The do command should list all possible href values which don't contain an pos= XR Fragment - 18. The (dynamic) do abc command should navigate/execute + 17. The (dynamic) do abc command should navigate/execute https://.../... in case a 3D node exist with name abc and href value https://.../... +22.1. Two-button navigation - - - + For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals + will not be available. + Therefore a 2-button navigation-interface is the bare minimum + interface: @@ -2074,6 +2074,13 @@ van Kammen Expires 19 December 2024 [Page 37] Internet-Draft XR Fragments June 2024 + 1. objects with href metadata can be cycled via a key (tab on a + keyboard) + 2. objects with href metadata can be activated via a key (enter on a + keyboard) + 3. the TTS reads the href-value (and/or aria-description if + available) + 23. Security Considerations The only dynamic parts are W3C Media Fragments @@ -2093,6 +2100,36 @@ Internet-Draft XR Fragments June 2024 (for example, an XR Hypermedia browser can decide to support POST/PUT/DELETE requests for embedded HTML thru src values) + + + + + + + + + + + + + + + + + + + + + + + + + +van Kammen Expires 19 December 2024 [Page 38] + +Internet-Draft XR Fragments June 2024 + + *Q:* Why isn't there support for scripting, URI Template Fragments are so limited compared to WASM & javascript *A:* This is out of scope as it unhyperifies hypermedia, and this is up to XR hypermedia @@ -2122,14 +2159,6 @@ Internet-Draft XR Fragments June 2024 * Leon van Kammen (@lvk@mastodon.online) * Jens Finkhäuser (@jens@social.finkhaeuser.de) - - - -van Kammen Expires 19 December 2024 [Page 38] - -Internet-Draft XR Fragments June 2024 - - 26. IANA Considerations This document has no IANA actions. @@ -2149,6 +2178,14 @@ Internet-Draft XR Fragments June 2024 * Brandel Zackernuk * Mark Anderson + + + +van Kammen Expires 19 December 2024 [Page 39] + +Internet-Draft XR Fragments June 2024 + + 28. Appendix: Definitions +=================+=============================================+ @@ -2178,14 +2215,6 @@ Internet-Draft XR Fragments June 2024 | | Object(nodes), relevant to machines and a | | | human minority (academics/developers) | +-----------------+---------------------------------------------+ - - - -van Kammen Expires 19 December 2024 [Page 39] - -Internet-Draft XR Fragments June 2024 - - | XR fragment | URI Fragment with spatial hints like | | | #pos=0,0,0&t=1,100 e.g. | +-----------------+---------------------------------------------+ @@ -2205,6 +2234,14 @@ Internet-Draft XR Fragments June 2024 | placeholder | a 3D object which with src-metadata (which | | object | will be replaced by the src-data.) | +-----------------+---------------------------------------------+ + + + +van Kammen Expires 19 December 2024 [Page 40] + +Internet-Draft XR Fragments June 2024 + + | src | (HTML-piggybacked) metadata of a 3D object | | | which instances content | +-----------------+---------------------------------------------+ @@ -2234,14 +2271,6 @@ Internet-Draft XR Fragments June 2024 | extrospective | outward sensemaking ("I'm fairly sure John | | | is a person who lives in oklahoma") | +-----------------+---------------------------------------------+ - - - -van Kammen Expires 19 December 2024 [Page 40] - -Internet-Draft XR Fragments June 2024 - - | ◻ | ascii representation of an 3D object/mesh | +-----------------+---------------------------------------------+ | (un)obtrusive | obtrusive: wrapping human text/thought in | @@ -2262,6 +2291,13 @@ Internet-Draft XR Fragments June 2024 | | XML | +-----------------+---------------------------------------------+ + + +van Kammen Expires 19 December 2024 [Page 41] + +Internet-Draft XR Fragments June 2024 + + Table 14 @@ -2293,4 +2329,24 @@ Internet-Draft XR Fragments June 2024 -van Kammen Expires 19 December 2024 [Page 41] + + + + + + + + + + + + + + + + + + + + +van Kammen Expires 19 December 2024 [Page 42] diff --git a/doc/RFC_XR_Fragments.xml b/doc/RFC_XR_Fragments.xml index cf66180..456e46f 100644 --- a/doc/RFC_XR_Fragments.xml +++ b/doc/RFC_XR_Fragments.xml @@ -1439,8 +1439,7 @@ Spec:

  • The enduser must be able to enable an accessibility-mode (which persists across application/webpage restarts)
  • Accessibility-mode must contain a text-input for the user to enter text
  • Accessibility-mode must contain a flexible textlog for the user to read (via screenreader, screen, or TTS e.g.)
  • -
  • the textlog contains aria-descriptions, and its narration (Screenreader e.g.) can be skipped (via cycling href's, see next rule)
  • -
  • href's can be cycled via tab (keyboard) or 'skip' command
  • +
  • the textlog contains aria-descriptions, and its narration (Screenreader e.g.) can be skipped (via 2-button navigation)
  • The back command should navigate back to the previous URL (alias for browser-backbutton)
  • The forward command should navigate back to the next URL (alias for browser-nextbutton)
  • A destination is a 3D node containing an href with a pos= XR fragment
  • @@ -1455,6 +1454,18 @@ Spec:
  • The do command should list all possible href values which don't contain an pos= XR Fragment
  • The (dynamic) do abc command should navigate/execute https://.../... in case a 3D node exist with name abc and href value https://.../...
  • + +
    Two-button navigation +For specific user-profiles, gyroscope/mouse/keyboard/audio/visuals will not be available.
    + +Therefore a 2-button navigation-interface is the bare minimum interface:
    + +
      +
    1. objects with href metadata can be cycled via a key (tab on a keyboard)
    2. +
    3. objects with href metadata can be activated via a key (enter on a keyboard)
    4. +
    5. the TTS reads the href-value (and/or aria-description if available)
    6. +
    +
    Security Considerations