1. 12 Oct, 2020 14 commits
    • Emmanuele Bassi's avatar
      a11y: Compute the label for a GtkATContext · 21482e82
      Emmanuele Bassi authored
      The ARIA spec defines the mechanism for determining the name of an
      accessible element—see §4.3 of the WAI-ARIA spec.
      
      We follow the specification as much as it makes sense for GTK to do
      so:
      
       1. if the element is hidden, return an empty string
       1. if the element has a labelled-by relation set, retrieve the
          label of the related element
       2. if the element has a label property set, use the value of
          the property
       3. if neither labelled-by nor label attributes are set, we use
          the role to compute the name:
         - for a `range` role, we return the contents of the value of
           the `value-text` or `value-now` properties
         - for any other role, we return a textual representation of
           the GtkAccessibleRole enumeration value
      21482e82
    • Emmanuele Bassi's avatar
      tests: Use the test ATContext for every test · 88113956
      Emmanuele Bassi authored
      Otherwise we're going to need a full desktop session in order to run the
      test suite.
      88113956
    • Emmanuele Bassi's avatar
      e6c5d57f
    • Emmanuele Bassi's avatar
      a11y: Add AT-SPI cache object · d7ebf187
      Emmanuele Bassi authored
      Right now, the cache is unused, and we still need to implement the
      serialisation method and emit the signals.
      d7ebf187
    • Emmanuele Bassi's avatar
      a11y: Ignore widgets during destruction · 658d9109
      Emmanuele Bassi authored
      There's no point in creating a GtkATContext when a widget is getting
      destroyed.
      658d9109
    • Emmanuele Bassi's avatar
      a11y: Register the accessible root object · bd43e9cf
      Emmanuele Bassi authored
      When we create the first AT-SPI context we also need to register the
      accessible root on the accessibility bus. The accessible root object is
      the main entry point of an accessible application, and it holds the
      global state to present to the ATs that connect to the bus.
      bd43e9cf
    • Emmanuele Bassi's avatar
      a11y: Add a display to GtkATContext · 8c184800
      Emmanuele Bassi authored
      Since we need to check at run time what kind of AT context to use, we
      need a hook into the whole GDK backend machinery. The display connection
      seems to be the best choice, in this case, as it allows us to determine
      whether we're running on an X11 or Wayland system, and thus whether we
      should create a GtkAtSpiContext.
      
      This requires some surgery to fix the GtkATContext creation function, in
      order to include a GdkDisplay instance.
      8c184800
    • Emmanuele Bassi's avatar
      a11y: Add dummy AT-SPI context · 8f19bb08
      Emmanuele Bassi authored
      Does not do anything, at the moment, but it's going to get filled out
      soon.
      
      The backend is selected depending on the platform being compiled in;
      since we're using AT-SPI on X11 and Wayland, and we don't have other
      accessibility implementations, we currently don't care about run time
      selection, but we're going to have to deal with that.
      8f19bb08
    • Emmanuele Bassi's avatar
      a11y: Add the AT-SPI DBus descriptions · c50916d2
      Emmanuele Bassi authored
      And generate the code for the DBus interfaces.
      
      We don't want the full object manager experience, here, because we're
      going to have a single object responding to various interfaces and
      remote method calls. For this reason, we're not using the gnome module
      in Meson to call gdbus-codegen for us: we need to use the interface info
      command line arguments, and those are not available from Meson.
      c50916d2
    • Emmanuele Bassi's avatar
      Use test AT context with installed tests · 4b60e747
      Emmanuele Bassi authored
      Otherwise we're going to need an AT-SPI service on the session, and the
      accessibility bus.
      4b60e747
    • Matthias Clasen's avatar
      Merge branch 'ebassi/for-master' into 'master' · 77d47294
      Matthias Clasen authored
      Ebassi/for master
      
      See merge request !2683
      77d47294
    • Emmanuele Bassi's avatar
      Generate introspection for GdkWayland API · daac36ea
      Emmanuele Bassi authored
      Like we do for GdkX11. We can't use all of the public C API, but we can
      expose enough type information to allow non-C developers to actually
      check if they are running the Wayland GDK backend or not—plus some
      additional Wayland-specific API.
      daac36ea
    • Emmanuele Bassi's avatar
      Add type annotations for GdkWayland API · f83ee2ab
      Emmanuele Bassi authored
      The GdkWayland API takes generic GDK types and performs a run time
      check, which means we need to properly annotate the actual expected
      type in order to have methods recognised as such.
      f83ee2ab
    • Emmanuele Bassi's avatar
      Skip GdkWayland symbols that use wayland-client types · 33e84edf
      Emmanuele Bassi authored
      The wayland-client API does not have introspection annotations, so we
      can't use these types anyway.
      33e84edf
  2. 11 Oct, 2020 1 commit
  3. 10 Oct, 2020 12 commits
  4. 09 Oct, 2020 9 commits
  5. 08 Oct, 2020 4 commits