NO335888B1 - System og fremgangsmåte for å gjøre elementer til brukergrensesnittet kjent for en applikasjon og bruker - Google Patents

System og fremgangsmåte for å gjøre elementer til brukergrensesnittet kjent for en applikasjon og bruker

Info

Publication number
NO335888B1
NO335888B1 NO20051130A NO20051130A NO335888B1 NO 335888 B1 NO335888 B1 NO 335888B1 NO 20051130 A NO20051130 A NO 20051130A NO 20051130 A NO20051130 A NO 20051130A NO 335888 B1 NO335888 B1 NO 335888B1
Authority
NO
Norway
Prior art keywords
user interface
interface element
control pattern
user
information
Prior art date
Application number
NO20051130A
Other languages
English (en)
Other versions
NO20051130L (no
Inventor
Patricia M Wagoner
Robert Sinclair
Heather S Burns
Paul J Reid
Brendan Mckeon
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of NO20051130L publication Critical patent/NO20051130L/no
Publication of NO335888B1 publication Critical patent/NO335888B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

Teknisk område
Foreliggende oppfinnelse vedrører dataprogramvare, og mer spesielt ti I— gjengelighetsegenskaper for dataprogramvare til et brukergrensesnitt.
Teknisk bakgrunn
Noen individer er ikke i stand til å vekselvirke med et databrukergrensesnitt på den måten som det vanligvis blir brukt. Små ikoner og typer er f.eks. en utfordring for synshemmede. Hørbare varsler og tilbakemeldinger er ubrukbare for de som hører dårlig. Dataindustrien er følsom for disse behovene. Noen operativsystemer kommer med ytterligere tilgjengelighetsegenskaper som gjør funksjonshemmede i stand til å modifisere brukergrensesnittet på måter som passer bedre til deres behov. Noen operativsystemer gjør det f.eks. mulig for brukere å benytte visuell tilbakekopling der hvor hørbar tilbakekopling ellers vil bli brukt. Ekstra store skjermfonter og høye kontraster kan i tillegg brukes for brukere med dårlig syn. For de med ekstreme visuelle svakheter, slik som blinde, tilveiebringer noen operativsystemer "skjermlesere" som forteller om elementene i brukergrensesnittet til brukeren eller tilveiebringer infrastruktur som gjør det mulig for en annen ledsager å tilveiebringe en slik skjermleser.
Et typisk skjermleseranlegg utføres samtidig med en hvilken som helst applikasjon som brukeren kan arbeide med. Når brukeren navigerer fra element til element, slik som ved å trykke fra én knapp til en annen, sender skjermleseren informasjon om det aktuelle elementet til en tekst/tale-motor og/eller en oppfriskbar Braille-fremvisning for å viderebringe denne informasjonen til brukeren. Tekst/tale-motorer oversetter denne informasjonen til syntetisert tale for å annonsere den for brukeren. Oppfriskbare Braille-fremvisninger oversetter denne informasjonen til et veldefinert mønster av prikker (dvs. Braille-tegn) og løfter tapper på en fysisk maskinvare-anordning som svarer til hver prikk i Braille-tegnene. I tilfelle av en tast, overfører skjermleseren ofte navnet på tasten og den aktuelle tilstanden til vedkommende tast (f.eks. at den for tiden er frakoplet og derfor ikke kan trykkes ned). Hvis en bruker er i en ordbehandlingsapplikasjon, kan likeledes skjermleseren være konfigurert for å identifisere forgrunnsvinduet (dvs. navnet på applikasjonen) og den aktuelle linjen, setningen, ordet eller tegnet som er nærmest innføringspunktet. Skjermleseren kan også beskrive attributter for denne teksten, slik som fontnavnet, vekten, fargen, understrekningen og rettferdiggjøringen. Ofte informerer skjermleseren også brukeren om hvilke handlinger brukeren for tiden kan foreta. Hvis brukeren f.eks. har navigert til en tast, kan skjermleseren varsle brukeren om at denne kan trykke ned tasten ved å betjene mellomromstasten.
Skjermlesere er uunnværlige for datamaskinbrukere med visse syns-svekkelser. Mange brukere vil vanligvis ganske enkelt ikke være i stand til å trekke fordel av en datamaskin uten et assisterende teknologiprodukt som kompenserer for deres tap av mobilitet, sansepersepsjon eller andre ting som kan forbedres ved hjelp av teknologi. Nåværende utformingsteknologier for programvare gjør imidlertid sensitive teknologiprodukter slik som skjermlesere, vanskelige å utforme. Som nevnt mottar det sensitive teknologiproduktet typisk et varsel om en endring av en for tiden kjørt applikasjon eller selve operativsystemmiljøet. Dette varselet har ofte form av en hendelse som indikerer at fokus er endret fra ett element (f.eks. en knapp eller listeboks) til et annet element (f.eks. et redigeringsfelt, et ikon eller lignende) eller at et nytt element er blitt laget eller ødelagt (f.eks. at et vindu er blitt åpnet eller lukket). En velgerstyring tilknyttet applikasjonen hever hendelsen og varsler operativsystemet om endringen. Som reaksjon på dette kan det assisterende teknologiproduktet spørre velgerstyringen om å bestemme hvilket element som er tilknyttet hendelsen (f.eks. hvilket element som har fokus) slik at det kan oppnå ytterligere informasjon for videreføring til brukeren.
Assisterende teknologiprodukter er for tiden hovedsakelig bare i stand til å be om et begrenset sett med informasjoner fra elementene, slik som den type (f.eks. knapp, listeboks eller lignende), dets posisjon på skjermen eller dets figurtekst. Hjelpeteknologiproduktet eller det assisterende teknologiproduktet selv må så utlede fra den tilbakesendte elementtypen hvilken funksjonalitet som er tilgjengelig for brukeren. Hjelpeteknologiproduktet må med andre ord forstå hva en "knapp" er og at knappen kan trykkes ned (påkalles). Konstruktører av et godt hjelpeteknologiprodukt må derfor forhåndsbestemme alle elementtypene som kan innbefattes i en applikasjon og identifisere deres funksjonalitet. Dette er en umulig oppgave fordi det er nye typer skjermelementer eller styringer som produseres rutinemessig av programvare-selskaper i hele programvareindustrien. I tillegg er det ineffektiv bruk av ressurser fordi ikke alle elementene er unike. Mange elementer deler lik funksjonalitet slik som evnen til å bli påkalt eller evnen til å styre en samling dataelementer hvor ett eller flere av dataelementene kan velges.
GNOME Accessibility for Developers - DRAFT: How to make GNOME 2.0 Applications Accessible, Examples that USE the Accessibility API, Internet Article, (http://web.archive.org/web/20020821064040/developer.gnome.org/projects/gap/guid e/gad/gad-api-examples.html), 2 August 2002, omhandler eksempler som bruker tilgjengelighets-API.
En mer generell applikasjonsklasse, automatinnretninger, har nesten det samme settet med krav som disse hjelpeteknologiproduktene. Automatiske anordninger trenger generelt evne til dynamisk å oppdage skjermelementer (f.eks. styringer) enten ved å gjennomgå objekt-hierarkiet av elementer eller ved å motta et hendelsesvarsel, slik som når fokus endres fra én styring til en annen. Disse anordningene behøver også en generell mekanisme for å utspørre disse elementer med menneskelesbar informasjon som kan overføres til brukeren eller lagres for senere referanse. De automatiske anordningene må til slutt ha evne til å oppdage hvilken funksjonalitet eller oppførsel som tilbys av et spesielt skjermelement selv når elementet er fullstendig ukjent for den automatiske anordningen. En overlegen mekanisme for å oppdage elementer i et brukergrensesnitt og utspørring og manipulering av deres tilhørende funksjonalitet på en slik måte at den kan anvendes på hele spekteret av mulige elementer, har dessverre unngått fagkyndige på området.
Oppsummering av oppfinnelsen
Hovedtrekkene ved oppfinnelsen fremgår av de selvstendige patentkrav. Ytterligere trekk ved oppfinnelsen er angitt i de uselvstendige krav.
Foreliggende oppfinnelse er rettet mot å gjøre funksjonalitet av et brukergrensesnittelement (eller en styring) programmatisk tilgjengelig for en applikasjon uten å ha forutgående kjennskap til elementets type. Foreliggende oppfinnelse er i tillegg rettet mot en mekanisme for å tilveiebringe programkonstruktørstyring over den informasjonen som kan overføres til en bruker ved å benytte en automatisk anordning, slik som et hjelpeteknologiprodukt (f.eks. en skjermleser for blinde). Kort sagt blir styringsmønsteret brukt til å beskrive funksjonalitet som kan eksponeres ved hjelp av én eller flere typer elementer. Funksjonalitet som er vanlig blant to eller flere typer elementer, blir beskrevet ved hjelp av det samme styringsmønsteret. Visse forutbestemte metoder, strukturer, egenskaper og/eller hendelser kan være tilknyttet et spesielt styringssystem. Elementer som understøtter styringsmønsteret, returnerer når de utspørres, et grensesnitt som beskriver disse metodene, strukturene, egen skapene og/eller hendelsene. På denne måten kan en automatisk anordning manipulere et element uten å ha forutgående kjennskap til funksjonaliteten som understøttes av elementet så lenge elementet er i stand til å bekrefte at det understøtter et spesielt styringsmønster eller et sett med styringsmønstre.
Ifølge et annet aspekt er et antall egenskaper innbefattet i hvert element, som definerer, i menneskeleselig form, et sett med informasjoner som kan være nyttige for den automatiske anordningen eller en bruker av anordningen. Programvare-utviklere har på denne måten bedre kontroll over nøyaktig hvilken informasjon som kan samles inn og presenteres for brukeren når et element blir beskrevet, for derved å forbedre brukererfaringen.
Kort beskrivelse av tegningene
Fig. 1 er et funksjonsblokkskjema som illustrerer en datamaskinanordning som kan brukes ved implementeringer av foreliggende oppfinnelse. Fig. 2 er et funksjonsblokkskjema som generelt illustrerer en skjermvisning i et system som implementerer foreliggende oppfinnelse. Fig. 3 er en grafisk representasjon av et objekt-tre som representerer de elementene som er vist på skjermbildet på fig. 2. Fig. 4 er en grafisk representasjon av et del-tre for objekt-treet som er vist på fig. 3. Fig. 5 er et logisk flytskjema som generelt illustrerer en prosess som kan anvendes av et hjelpeteknologiprodukt til å beskrive og manipulere skjermelementer for en bruker, i samsvar med oppfinnelsen. Fig. 6 er et logisk flytskjema som generelt illustrerer en prosess for å utspørre et objekt for å bestemme hvilken oppførsel det eksponerer, i samsvar med oppfinnelsen.
Detaljert beskrivelse av den foretrukne utførelsesformen Oppfinnelsen tilveiebringer en mekanisme som gjør det mulig for en automatisk anordning, slik som et hjelpeteknologiprodukt, automatisk å teste skript, makroregistreringsanordning eller kommandoapplikasjon, for å samle inn beskrivende informasjon om et brukergrensesnittelement og for å bestemme hvilken funksjonalitet dette elementet tilveiebringer, uten å kjenne nøyaktig til hvilken type element det er. Oppfinnelsen har kort sagt bestemt at et slikt element eller en slik styring innbefatter to aspekter av interesse for den automatiske anordningen: (1) den informasjon som beskriver dens utseende, plassering og aktuelle tilstand, og (2) den funksjonaliteten som elementet eksponerer. På bakgrunn av denne beskrivelsen innebærer oppfinnelsen å tilordne et antall egenskaper til et element, som innbefatter en beskrivelse av hva elementet er på en slik måte at det kan kommuniseres til en bruker (f.eks. på en menneskelig lesbar form). Oppfinnelsen innebærer videre å identifisere funksjona-litetsgrupper som kan gjøres tilgjengelige av elementet og som kan aksesseres direkte uten å oppdage nøyaktig hva elementet er.
Oppfinnelsen vil her først bli beskrevet med henvisning til et eksempel på et illustrerende datamaskinmiljø hvor utførelsesformer av oppfinnelsen kan implemen-teres. Deretter vil et detaljert eksempel på en spesiell implementering av oppfinnelsen bli beskrevet. Alternative implementeringer kan også være innbefattet i forbindelse med visse detaljer ved den spesielle implementeringen. Det skal bemerkes at utførelsesformer av oppfinnelsen ikke er begrenset til de som er beskrevet her.
Illustrerende datamaskinmiljø for oppfinnelsen
Fig. 1 illustrerer en datamaskinanordning som kan brukes i en illustrerende implementering av foreliggende oppfinnelse. Det vises til fig. 1 hvor et eksempel på et system for implementering av oppfinnelsen innbefatter en datamaskinanordning, slik som en datamaskinanordning 100. I en meget grunnleggende utforming omfatter datamaskinanordningen 100 typisk minst én prosessorenhet 102 og et systemlager 104. Avhengig av den nøyaktige utførelsen og typen til datamaskinanordningen, kan systemlageret 104 være flyktig (slik som RAM), ikke-flyktig (slik som ROM, flash-lager, osv.) eller en kombinasjon av disse. Systemlageret 104 innbefatter typisk et operativsystem 105, én eller flere programmoduler 106 og kan innbefatte program-data 107. Denne grunnleggende konfigurasjonen av datamaskinanordningen 100, er illustrert på fig. 1 ved hjelp av komponentene innenfor den stiplede linjen 108.
Datamaskinanordningen 100 kan ha ytterligere egenskaper eller funksjonalitet. Datamaskinanordningen 100 kan f.eks. også innbefatte ytterligere lagrings-anordninger (fjernbare og/eller ikke-fjernbare) slik som f.eks. magnetplater, optiske plater eller bånd. Slike ytterligere lagre er illustrert på fig. 1 ved hjelp av det fjernbare lageret 109 og det ikke-fjernbare lageret 110. Datalagringsmedier kan innbefatte flyktige og ikke-flyktige, fjernbare og ikke-fjernbare media implementert ved hjelp av en hvilken som helst metode eller teknologi for lagring av informasjon, slik som data maskinlesbare instruksjoner, datastrukturer, programmoduler eller andre data. Systemlageret 104, det fjernbare lageret 109 og det ikke-fjernbare lageret 110 er alle eksempler på datamaskinlagringsmedier. Datamaskinlagringsmedier innbefatter, men er ikke begrenset til RAM, ROM, EEPROM, flash-lager eller annen lagrings-teknologi, CD-ROM, digitale videoplater (DVD) eller andre optiske lagringsmedier, magnetkassetter, magnetbånd, magnetiske platelagre eller andre magnetlagrings-anordninger, eller et hvilket som helst annet medium som kan brukes til å lagre den ønskede informasjon og som kan aksesseres av datamaskinanordningen 100. Et hvilket som helst slikt datamaskinlagringsmedium kan være en del av anordningen 100. Datamaskinanordningen 100 kan også ha én eller flere innmatingsanordninger 112, slik som et tastatur 122, en mus 123, en penn, en taleinnmatingsanordning, en berøringsinnmatingsanordning, en skanner, osv. Én eller flere utmatingsanordninger 114 slik som en skjerm, høyttalere, en skriver, osv. kan også være innbefattet. Disse anordningene er velkjente på området og behøver ikke å bli diskutert i detalj her.
Datamaskinanordningen 100 kan også inneholde kommunikasjonsforbindelser 116 som gjør det mulig for anordningen å kommunisere med andre datamaskin-anordninger 118, slik som over et nett. Kommunikasjonsforbindelsene 116 er et eksempel på kommunikasjonsmedier. Kommunikasjonsmediene kan typisk være utformet av datamaskinlesbare instruksjoner, datastrukturer, programmoduler eller andre data i et modulert datasignal, slik som en bærebølge eller en annen transport-mekanisme, og innbefatter et hvilket som helst informasjonsleveringsmedium. Uttrykket "modulert datasignal" betyr et signal som har ett eller flere av sine karakteris-tikker fastsatt eller endret på en slik måte at informasjon blir kodet inn i signalet. Som et eksempel, og ikke ment som noen begrensning, innbefatter kommunikasjonsmedier ledningsmedier slik som ledningsnett eller direkte ledningsforbindelser, og trådløse medier slik som akustiske, radiofrekvente, infrarøde og andre trådløse medier. Uttrykket datamaskinlesbart medium, slik det brukes her, innbefatter både lagringsmedier og kommunikasjonsmedier.
Illustrerende implementering av oppfinnelsen
Fig. 2 er et funksjonsblokkskjema som generelt illustrerer komponenter i et system som implementerer foreliggende oppfinnelse. Illustrert på fig. 2 er en automatisk anordning (f.eks. et hjelpeteknologiprodukt) 201 og en applikasjon 202. Applikasjonen 202 innbefatter flere elementer. For formålet med foreliggende oppfinnelse betyr uttrykket element en hvilken som helst komponent i brukergrensesnittet som brukeren kan vekselvirke med eller som tilveiebringer informasjon av betydning til brukeren, eller funksjonaliteten til applikasjonen 202. Uttrykket styring blir også noen ganger brukt for å identifisere slike elementer. Brukeren kan vekselvirke med mange av elementene som er illustrert i applikasjon 202. Applikasjonen 202 omfatter f.eks. en menylinje 212 med flere menyer, der hver meny har en tilknyttet rekke med meny-poster. En redigeringsmeny 214 innbefatter en rullegardinmenyliste med flere meny-poster 215.
Slike elementer er innbefattet i andre elementer. En listevisning 220 omfatter f.eks. noen ikoner, slik som ikon 222. En ramme 225 inneholder en kombiboks 230 og to knapper, knapp 231 og knapp 232. I tillegg er både rammen 225 og listevisningen 220 inneholdt på et merket dialogelement 221. I vanlig dataterminologi blir hvert element som er inneholdt i et annet element, betraktet som et avkom av det elementet det inneholder. Kombiboksen 230 er derfor et avkom av rammen 225. Rammen 225 og listeboksen 220 er avkom av det merkede dialogelementet 221.
En bruker kan navigere fra ett element til et annet på flere måter. Én måte er å manøvrere en musepeker fra ett element til et annet element. En annen måte kan være å trykke på en tabulatortast eller en piltast. Det elementet som en bruker har navigert, det "for tiden aktive" elementet, blir antatt å ha "fokus". Som illustrert på fig. 2 er f.eks. posten 216 valgt og har for tiden fokus. Etter hvert som brukeren navigerer fra ett element til et annet element kan den automatiske anordningen 201 varsles automatisk om det elementet som har fått fokus. I det tilfelle hvor den automatiske anordningen 201 er en skjermleser, henter den inn navnet eller etiketten til det nylig fokuserte elementet og "taler" denne informasjonen til brukeren. Skjermleseren kan lese tittelen til det aktive vinduet, menyvalg, teksten som er skrevet og lignende. I virkeligheten samler skjermleseren tekstinformasjon og videresender dem til en tekst/tale-motor som omformer denne teksten til syntetisert tale som mates ut. Selv om den automatiske anordningen her er beskrevet som en skjermleser, vil man forstå at denne kan være én av et antall forskjellige typer anordninger, slik som tale- og dikterings-programvare, kommando- og styrings-anordninger, makroregistrerings-anordninger, automatisk testskript, kommandoanordninger eller lignende.
Tidligere ville den automatiske anordningen 201, som beskrevet her, ganske enkelt ha bestemt den type element som for tiden har fokus og bruke dets styrings-type (f.eks. knapp, menypost, redigerbart tekstfelt eller lignende) til å ekstrahere styringsspesifikk informasjon som skal gis til brukeren. Som beskrevet mer detaljert nedenfor, er elementene i samsvar med oppfinnelsen konfigurert til å innbefatte et flertall vanlige og spesielle egenskaper som kollektivt beskriver vedkommende element og som kan brukes av en automatisk anordning 201 til å supplementere brukerens erfaring. Ved å eksponere informasjon om elementet gjennom disse egenskapene, har utviklere bedre styring over hvilken informasjon som vil bli videreført til brukeren ved bruk av en automatisk anordning 201 som benytter foreliggende oppfinnelse. Istedenfor å være begrenset til typebasert informasjon tilknyttet elementer på skjermen, kan den automatiske anordningen 201 med andre ord føre en hvilken som helst informasjonsstreng som kan leses av et menneske, for et spesielt element og beskrive oppførselen eller formålet med elementet for brukeren.
Mange av elementene er interaktive og oppviser funksjonalitet som får applikasjonen 202 til å virke på tilsiktet måte. Klikking på knappen 231 resulterer f.eks. sannsynligvis i en reaksjon fra applikasjonen 202. Klikking på knappen 232 resulterer sannsynligvis i en annen reaksjon fra applikasjonen 202. Valg av menypost 216 resulterer sannsynligvis i nok en annen reaksjon.
Selv om hvert av elementene kan være litt forskjellig, eksponerer mange lignende grunnleggende funksjonskarakteristikker. Disse grunnleggende funksjons-karakteristikkene er relatert til selve elementets oppførsel i motsetning til den spesielle reaksjonen som kan inntreffe ved hjelp av applikasjonen 202. Knappen 231 og 232 kan derfor begge klikkes på selv om applikasjonen 202 kan reagere på forskjellige måter avhengig av hvilken knapp som det ble klikket på. Menypostene 215 og postene i kombiboksen 230 er likeledes velgbare. Derimot har flesteparten av de forskjellige elementtypene en viss grunnleggende funksjonalitet som er forskjellig. Kombiboksen 230 gjør det f.eks. mulig å redigere tekst inne i en redigeringsboksdel 233, mens menypostene 215 ikke tilveiebringer evnen til å redigere deres innhold.
Oppfinnerne har bestemt visse mønstre av grunnleggende funksjonalitet som er tilstede i mange forskjellige typer elementer. Denne bestemmelsen har gjort "styringsmønstre" i stand til å bli opprettet for å beskrive grunnleggende funksjonalitet som kan eksponeres ved hjelp av et element. Et styringsmønster er en mekanisme for å beskrive oppførselen til et element. Mer spesielt kan et spesielt styringsmønster definere visse strukturer, egenskaper, hendelser og metoder som understøttes av et element. Elementer kan understøtte (og gjør det vanligvis) flere styringsmønstre. Samlingen av styringsmønstre som understøttes av ett element, definerer totaliteten av elementets oppførsel.
En applikasjon kan spørre om elementet understøtter et spesielt styrings-mønster for å bestemme elementets oppførsel. Uten å ha forhåndskunnskap om et spesielt elements type kan derfor en klientapplikasjon oppdage den funksjonalitet som er tilgjengelig for vedkommende element ved å spørre om det understøtter et spesielt styringsmønster. Applikasjonen kan så programmatisk manipulere elementet gjennom vanlige grensesnitt tilknyttet vedkommende styringsmønster. Nye elementer kan skapes med litt eller drastisk forskjellig oppførsel, likevel kan applikasjoner frem-deles vekselvirke med de nye elementene ved å spørre etter de styringsmønstrene som det nye elementet understøtter. Den følgende tabellen representerer noen illustrerende styringsmønstre og settet med oppførsler som er tilknyttet vedkommende styringsmønster.
De elementene som er illustrert på fig. 2, kan konfigureres med de riktige sty-ringsmønstre for å representere den type oppførsel som kan forventes av et element av den spesielle typen. Det følgende er en tabell som beskriver noen vanlige elementer og noen styringsmønstre som kan brukes til å definere oppførselen til disse vanlige elementene:
Fig. 3 er en grafisk illustrasjon av et objekt-tre 301 som representerer elementene til den applikasjonen 202 som er vist på fig. 2. Det skal bemerkes at ett eller flere objekter i objekt-treet 301 kan være et mellomobjekt eller et flytteobjekt som representerer et tilsvarende element i applikasjonen 202. For enkelhets skyld vil imidlertid denne beskrivelsen behandle hvert objekt i objekt-treet 301 som det aktuelle elementet. Hovedapplikasjonsvinduet er representert for å danne objektet 305, og hvert element i applikasjonen 202 innbefatter et tilsvarende objekt i objekt-treet 301. Hver del av den merkede dialogen 221 på fig. 2 h ar f.eks. en tilsvarende merkepost (merke 306, merke 307, merke 308) i objekt-treet 301. Listevisningen 220 og rammen 225 har likeledes tilsvarende objekter (listevisningen 311 og rammen 312) i objekt-treet 301. Foreldre/avkom-relasjonene er også representert i objekt-treet 301. Rammeobjektet 312 har f.eks. avkomobjekter (kombiboks 230, kapp 321 og knapp 322) som svarer til de elementene som befinner seg i rammen 225.
Under bruk kan brukeren navigere fra ett element til et annet i applikasjonen, en velgerstyring tilknyttet applikasjonen 202 varsler den automatiske anordningen 201 (illustrert på fig. 3 som et objekt) om at fokuset er endret. I tilfelle med en skjermleser kan denne fokusendringen forårsake at den automatiske anordningen 201 spør det spesielle objektet som representerer det aktuelle elementet med fokus for et antall egenskaper og for styringsmønstrene som understøttes av vedkommende element. En endring i fokuset er bare én av mange mulige grunner til at den automatiske anordningen kan velge å spørre et element om denne informasjonen.
Et under-tre 401 for objekt-treet 301 er illustrert på fig. 4. For ytterligere å illustrere virkemåten kan det antas at den automatiske anordningen 201 er en skjermleser. Når brukeren navigerer til knappen 231, spør skjermleseren sitt tilsvarende objekt (knapp 321) og innhente dens navneegenskap 410, en streng som kan leses av mennesker, for å gi den til brukeren. Navneegenskapen 411 inneholder den strengen som vil være tilknyttet vedkommende styring ved at en seende bruker ser på dataskjermen. I dette tilfelle sender skjermleseren strengen "hjelpeknapp" til tekst/tale-motoren som så viderebringer denne informasjonen til brukeren.
I tillegg kan den automatiske anordningen 201 spørre knappen 321 om å identifisere de styringsmønstrene 412 som understøttes av dens tilsvarende element. I dette tilfelle er et identifisert styringsmønster for knappen 321 det "påkalte" styrings-mønsteret. Styringsmønstrene gjør det ikke bare mulig for en klientapplikasjon å spørre om et elements oppførsel, de gjør den også i stand til programmatisk å mani pulere elementet via grensesnitt utformet for det spesielle styringsmønsteret. I dette eksempelet kan den automatiske anordningen 201 spørre knappen 321 direkte for å bestemme om den understøtter det påkalte styringsmønsteret. Knappen 321 kan indikere et bekreftende svar ved å returnere et grensesnitt (grensesnitt X 414) som innbefatter et sett metoder for å trekke fordel av den påkalte oppførselen. I et annet eksempel kan et velgerstyringsmønster (tilknyttet kombiboksen 320) tilveiebringe metoder for å spørre etter valgte poster, velge eller frafalle en spesiell post, bestemme om elementet understøtter én eller flere velgermodi, og lignende.
Gjennom den mekanismen som er tilveiebrakt ved hjelp av foreliggende oppfinnelse kan automatiske anordninger bli skrevet som forstår hvordan de skal arbeide med hvert styringsmønster, istedenfor hvert Ul-element eller styring. Siden de diskrete oppførselstyper som elementene vil fremvise, er forholdsvis få, vil det være langt færre styringsmønstre enn det er typer av elementer eller styringer. Dette resulterer i mindre kode å skrive for en automatisk anordning, og det oppmuntrer til en mer fleksibel arkitektur for de automatiske anordningene som effektivt kan under-søke og manipulere nye elementer som understøtter kjente styringsmønstre.
Fig. 5 er et logisk flytskjema som generelt illustrerer en prosess som kan anvendes av en hendelsesdrevet automatisk anordning som beror på Ul-automatiske hendelser til å oppdage skjermelementer som skal undersøkes med hensyn på egenskapsinformasjon og manipuleres ved å bruke styringsmønstre. Prosessen begynner med enten å gjennomgå et objekt-hierarki for å lokalisere et spesielt element av interesse (blokk 510), eller den kan gå på tomgang i en sløyfe (blokk 511) inntil den mottar et hendelsesvarsel som den tidligere registrerte å motta.
Ved blokk 513 blir det elementet som for tiden er av interesse utspurt om et antall egenskapsinformasjoner som er nødvendige for brukeren eller den automatiske anordningen. I en implementering innhenter en automatisk anordning fra det aktuelle elementet i egenskaper som innbefatter menneskelig lesbare strenger ment for kommunikasjon med brukeren. Prosessen fortsetter ved blokk 515.
Ved blokk 515 blir elementet av interesse utspurt etter styringsmønsterunder-støttelse. En fremgangsmåte for å gjøre dette, er beskrevet nedenfor i forbindelse med fig. 6. Kort sagt kan en automatisk anordning for å bestemme hvordan elementene skal manipuleres programmatisk, spørre om elementet understøtter en spesiell type styringsmønstre, eller den kan spørre elementet om den type styrings- mønstre som det understøtter. Når de understøttede styringsmønstrene er kjent, fortsetter prosessen til blokk 517.
Ved blokk 517 blir det elementet som har fokus, manipulert i samsvar med dets understøttede styringsmønstre. Som reaksjon på en forespørsel (f.eks. blokk 515) om et spesielt styringsmønster er understøttet, kan elementet f.eks. returnere et grensesnitt som innbefatter metoder som omfatter den oppførselen som svarer til styringsmønsteret. Ved bruk av dette grensesnittet, kan den automatiske anordningen (eller en annen klient bygd på Ul-automatisk rammeverk og som har de riktige sikkerhetstillatelsene) manipulere elementet.
Fig. 6 er et logisk flytskjema som generelt illustrerer en prosess for å spørre et objekt for å bestemme hvilken oppførsel det eksponerer. Prosessen begynner ved beslutningsblokk 601 hvor et element (representert av et objekt) er blitt oppdaget ved hjelp av et hendelsesvarsel eller en annen mekanisme, slik som gjennomgang av det automatiske Ul-objekt-hierarkiet.
Ved beslutningsblokk 601 blir det tatt en bestemmelse med hensyn til om kunnskap er ønsket om alle de understøttede styringsmønstrene for elementet med fokus. Noen tilfeller kan f.eks. trenge utspørring av elementet for å bestemme alle dets funksjonaliteter istedenfor ganske enkelt å spørre om det oppfører seg på en spesiell ønsket måte. Et eksempel på et slikt tilfelle kan være i et avlusings- eller test-miljø. Disse tilfellene fortsetter prosessen ved blokk 603. Imidlertid trenger den automatiske anordningen oftere enn ikke å vite om elementet understøtter en spesiell oppførsel. I disse tilfellene fortsetter prosessen ved blokk 605.
Ved blokk 603, blir et spørsmål om de understøttede styringsmønstrene avgitt til elementet av interesse. Spørsmålet kan omfatte en fullstendig liste over de styringsmønstrene som understøttes av elementet. Forespørselen kan ganske enkelt be om en liste eller den kan be om grensesnitt til hvert av de understøttede styrings-mønstrene. Som reaksjon, ved blokk 607, blir listen mottatt og spørreanordningen eller applikasjonen håndterer den på passende måte; en vanlig bruk er imidlertid å så bruke metodene for returnerte styringsmønstre til programmatisk å manipulere elementet (f.eks. bruke "påkall mønster/påkall-metoden "til å trykke ned knappen 321 og derved vise hjelpevinduet).
Ved blokk 605, blir det sendt en forespørsel til elementet for å bestemme om det understøtter et spesielt styringsmønster. I mange tilfeller kan en automatisk anordning, for å lette navigasjonen til en applikasjon, vite hvilken funksjonalitet eller oppførsel som er forventet ved et spesielt punkt i applikasjonen. Istedenfor å spørre om en liste over alle de understøttede styringsmønstrene, kan følgelig den automatiske anordningen spørre om et element understøtter et spesielt styringsmønster. Ved blokk 605 kan den automatiske anordningen derfor spørre et element om det understøtter det spesielle styringsmønsteret.
Ved beslutningsblokk 609 blir det tatt en bestemmelse med hensyn til om det spesielle styringsmønsteret er understøttet. Det utspurte elementet kan f.eks. ganske enkelt returnere en svikt hvis det etterspurte styringsmønsteret ikke er understøttet. I så fall kan AT-anordningen gjenta spørsmålet ved blokk 605 med et annet ønsket styringsmønster, eller den kan slutte hvis ingen av de ønskede styringsmønstrene er understøttet. Hvis det aktuelle styringsmønsteret er understøttet, fortsetter prosessen ved blokk 611. Den automatiske anordningen kan spørre om understøttelse av spesielle styringsmønstre inntil alle styringsmønstre av interesse er blitt forsøkt. Det skal gjentas at varsel om understøttelse for et spesielt styringsmønster kan tilveie-bringes ved ganske enkelt å returnere et grensesnitt til den anropte automatiske anordningen med den eller de fremgangsmåter som svarer til det understøttede styringsmønsteret.
Ved blokk 611 blir det grensesnittet mottatt som innbefatter metoden eller metodene som muliggjør den oppførsel som er tilknyttet styringsmønsteret. Ved dette punktet kan den automatiske anordningen bruke de tilhørende styringsmønster-metodene til å manipulere elementet på en passende måte i samsvar med oppførselen til styringsmønsteret. Man vil forstå at det beskrevne systemet, komponentene og prosessen har muliggjort en mekanisme ved hjelp av hvilken brukergrensesnittelementer kan gjøres kjent på en dynamisk måte for en bruker og for en applikasjon, slik som en automatisk anordning, for programmatisk manipulering.
Den ovennevnte beskrivelse, eksemplene og dataene gir en fullstendig beskrivelse av fremstillingen og bruken av komposisjonen ifølge oppfinnelsen. Siden mange utførelsesformer av oppfinnelsen kan gjøres uten å avvike fra oppfinnelsens ramme, er oppfinnelsen bare begrenset av de vedføyde patentkravene.

Claims (16)

1. Datamaskinimplementert fremgangsmåte for programmatisk manipulering av et brukergrensesnittelement til en applikasjon (202), omfattende følgende trinn: ved hjelp av en automatisk anordning (201), å samle (513) fra brukergrensesnittelementet til applikasjonen (202) informasjon om brukergrensesnittelementet, idet informasjonen er lagret i en egenskap for brukergrensesnittelementet; ved hjelp av den automatiske anordningen (201), å videreformidle eller viderebringe denne informasjonen til brukeren; ved hjelp av den automatiske anordningen (201), å spørre (515) brukergrensesnittelementet til applikasjonen (202) om brukergrensesnittelementet understøtter et styringsmønster, idet brukergrensesnittelementet er av en spesiell brukergrensesnittelement-type, hvor styringsmønsteret beskriver grunnleggende funksjonalitet eksponert av et antall typer brukergrensesnittelementer; og hvis brukergrensesnittelementet understøtter styringsmønsteret, å returnere et grensesnitt som omfatter minst én metode som under-støttes av brukergrensesnittelementet, og programmatisk å manipulere (517), ved hjelp av den automatiske anordningen (201), brukergrensesnittelementet ved å bruke den minst ene metode omfattet i det returnerte grensesnittet og eksponert ved hjelp av brukergrensesnittelementet, idet brukergrensesnittelementet svarer til styrings-mønsteret, hvorved brukergrensesnittelementet blir programmatisk manipulert ved hjelp av den automatiske anordningen gjennom det returnerte grensesnittet assosiert med styringsmønsteret basert på dets understøttelse av styringsmønsteret uten referanse til brukergrensesnittelementets type.
2. Fremgangsmåte ifølge krav 1, hvor den grunnleggende funksjonaliteten omfatter én eller flere forutbestemte metoder, strukturer, egenskaper eller hendelser.
3. Fremgangsmåte ifølge krav 1, hvor brukergrensesnittelementet understøtter et antall forskjellige styringsmønstre.
4. Fremgangsmåte ifølge krav 1, hvor den automatiske anordning (201) omfatter et hjelpeteknologiprodukt, en kommandoanordning, et automatisk testskript, en makroregistreringsanordning, tale- eller dikteringsprogramvare eller kommando- og styringsanordninger.
5. Fremgangsmåte ifølge krav 1, videre omfattende trinn med: å spørre brukergrensesnittelementet om et antall egenskaper som kan brukes av den automatiske anordning (201) til å samle informasjon som anses å være viktig for brukeren; og å videreformidle denne informasjonen til brukeren.
6. Fremgangsmåte ifølge krav 1, hvor styringsmønsteret er minst ett i en liste som omfatter: applikasjonsvindu, kalender, kommandoer, beskrivende informasjon, dokk, forminsk/forstørr, grafikk, gitter, gitterpost, hierarkipost, påkall, multimedia, multippel visning, områdeverdi, rotasjon, rulling, valg, valgpost, sortering, deling, tabell, tabellpost, tekst, verdi, visuell informasjon, vindu, zoom.
7. Datamaskinlesbart medium med datamaskinutførbare komponenter for programmatisk manipulering av et brukergrensesnittelement til en applikasjon (202), omfattende: en automatisk anordning (201) konfigurert for å samle fra brukergrensesnittelementet informasjon om brukergrensesnittelementet, idet informasjonen er lagret i en egenskap for brukergrensesnittelementet, der den automatiske anordningen videre er konfigurert for å videreformidle informasjonen til brukeren; og hvor den automatiske anordningen (201) videre er konfigurert for programmatisk å manipulere (517) brukergrensesnittelementet ved å spørre (515) om brukergrensesnittelementet understøtter et styrings-mønster, og hvis så er tilfelle, programmatisk å manipulere (517) brukergrensesnittelementet i samsvar med styringsmønsteret; hvor styringsmønsteret beskriver grunnleggende funksjonalitet eksponert av et antall typer brukergrensesnittelementer, og hvor den programmatiske manipulering av brukergrensesnittelementet omfatter returnering av et grensesnitt og manipulering av brukergrensesnittelementet, ved hjelp av den automatiske anordningen, gjennom det returnerte grensesnittet assosiert med styringsmønsteret ved å bruke minst én metode eksponert av brukergrensesnittelementet som svarer til styringsmønsteret, idet grensesnittet omfatter den minst ene metoden, og det returnerte grensesnittet returneres av brukergrensesnittelementet som svar eller reaksjon på forespørselen eller spørringen om brukergrensesnittelementet understøtter styringsmønsteret.
8. Datamaskinlesbart medium ifølge krav 7, hvor styringsmønsteret definerer struktur, egenskaper, hendelser og metoder som understøttes av brukergrensesnittelementet.
9. Datamaskinlesbart medium ifølge krav 7, hvor brukergrensesnittelementet understøtter et antall styringsmønstre.
10. Datamaskinlesbart medium ifølge krav 7, hvor brukergrensesnittelement-informasjonen omfatter menneskelig-lesbar tekst lagret i et antall egenskaper, hvor den menneskelig-lesbare teksten refererer til et attributt ved brukergrensesnittelementet.
11. Datamaskinlesbart medium ifølge krav 10, hvor attributtet til brukergrensesnittelementet omfatter informasjon om brukergrensesnittelementet som, hvis den sendes eller videreformidles til brukeren, informerer brukeren om brukergrensesnittelementet.
12. Datamaskinlesbart medium ifølge krav 7, hvor brukergrensesnittelementet videre omfatter: et antall egenskaper som identifiserer informasjon om brukergrensesnittelementet, idet egenskapene er i stand til å bli formidlet til brukeren ved hjelp av den automatiske anordning (201); og et annet felt som identifiserer ett eller flere styringsmønstre, der hvert styrings-mønster er tilknyttet eller assosiert med en spesiell oppførsel av brukergrensesnittelementet.
13. Datamaskinlesbart medium ifølge krav 12, hvor egenskapene omfatter menneskelig-lesbare tekststrenger.
14. Datamaskinlesbart medium ifølge krav 13, hvor de menneskelig-lesbare tekst-strengene videre omfatter informasjon som beskriver brukergrensesnittelementet, slik at formidlingen av denne informasjonen informerer en bruker om brukergrensesnittelementet.
15. Datamaskinlesbart medium ifølge krav 12, hvor hvert styringsmønster beskriver struktur, egenskaper, hendelser og fremgangsmåter som understøttes av brukergrensesnittelementet.
16. Datamaskinlesbart medium ifølge krav 12, hvor styringsmønsteret omfatter et middel til å beskrive grunnleggende funksjonalitet for et brukergrensesnittelement.
NO20051130A 2002-09-30 2005-03-02 System og fremgangsmåte for å gjøre elementer til brukergrensesnittet kjent for en applikasjon og bruker NO335888B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41486302P 2002-09-30 2002-09-30
PCT/US2003/015706 WO2004031937A1 (en) 2002-09-30 2003-05-17 System and method for making user interface elements known to an application and user

Publications (2)

Publication Number Publication Date
NO20051130L NO20051130L (no) 2005-04-29
NO335888B1 true NO335888B1 (no) 2015-03-16

Family

ID=32069777

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20051130A NO335888B1 (no) 2002-09-30 2005-03-02 System og fremgangsmåte for å gjøre elementer til brukergrensesnittet kjent for en applikasjon og bruker

Country Status (16)

Country Link
US (1) US7490313B2 (no)
EP (1) EP1546857A4 (no)
JP (1) JP4503438B2 (no)
KR (1) KR100953806B1 (no)
CN (1) CN1316351C (no)
AU (1) AU2003233573B2 (no)
BR (1) BR0313490A (no)
CA (1) CA2495038C (no)
IL (1) IL167163A (no)
MX (1) MXPA05002322A (no)
NO (1) NO335888B1 (no)
NZ (1) NZ538524A (no)
RU (1) RU2348964C2 (no)
TW (1) TWI321290B (no)
WO (1) WO2004031937A1 (no)
ZA (1) ZA200501721B (no)

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6563913B1 (en) * 2000-08-21 2003-05-13 Koninklijke Philips Electronics N.V. Selective sending of portions of electronic content
US7246325B2 (en) 2001-12-20 2007-07-17 Nokia Corporation System and method for functional elements
WO2003088188A2 (en) * 2002-04-17 2003-10-23 Cbt (Technology) Limited Accessibility of computer based training systems for the visually impaired
US7712034B2 (en) * 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7234114B2 (en) * 2003-03-24 2007-06-19 Microsoft Corporation Extensible object previewer in a shell browser
US7409644B2 (en) * 2003-05-16 2008-08-05 Microsoft Corporation File system shell
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7240292B2 (en) * 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7823077B2 (en) * 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7827561B2 (en) 2003-03-26 2010-11-02 Microsoft Corporation System and method for public consumption of communication events between arbitrary processes
US7890960B2 (en) 2003-03-26 2011-02-15 Microsoft Corporation Extensible user context system for delivery of notifications
US7536386B2 (en) * 2003-03-27 2009-05-19 Microsoft Corporation System and method for sharing items in a computer system
US7650575B2 (en) * 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7526483B2 (en) * 2003-03-27 2009-04-28 Microsoft Corporation System and method for virtual folder sharing including utilization of static and dynamic lists
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
EP1477894A3 (en) * 2003-05-16 2006-10-25 Sap Ag System, method, computer program product and article of manufacture for manipulating a graphical user interface
US20050188174A1 (en) * 2003-10-12 2005-08-25 Microsoft Corporation Extensible creation and editing of collections of objects
US20050083425A1 (en) * 2003-10-16 2005-04-21 Cozier Robert P. Using audio in a customized menu
US20050083411A1 (en) * 2003-10-16 2005-04-21 Cozier Robert P. Device driven share system and method
US7607110B2 (en) * 2003-10-23 2009-10-20 Microsoft Corporation Element persistent identification
US8024335B2 (en) * 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7181463B2 (en) 2003-10-24 2007-02-20 Microsoft Corporation System and method for managing data using static lists
US20050193370A1 (en) * 2004-02-27 2005-09-01 Goring Brian R. System and method for interactive wireless applications with conditional UI controls and screen navigation
US7818664B2 (en) * 2004-03-16 2010-10-19 Freedom Scientific, Inc. Multimodal XML delivery system and method
US7694236B2 (en) * 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US7992103B2 (en) * 2004-04-26 2011-08-02 Microsoft Corporation Scaling icons for representing files
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US8108430B2 (en) 2004-04-30 2012-01-31 Microsoft Corporation Carousel control for metadata navigation and assignment
US7496583B2 (en) * 2004-04-30 2009-02-24 Microsoft Corporation Property tree for metadata navigation and assignment
US7636922B2 (en) 2004-05-03 2009-12-22 Microsoft Corporation Generic user interface command architecture
US7627821B2 (en) * 2004-06-15 2009-12-01 Microsoft Corporation Recording/playback tools for UI-based applications
US7653896B2 (en) * 2004-06-30 2010-01-26 Microsoft Corporation Smart UI recording and playback framework
US8185427B2 (en) 2004-09-22 2012-05-22 Samsung Electronics Co., Ltd. Method and system for presenting user tasks for the control of electronic devices
US8099313B2 (en) 2004-09-22 2012-01-17 Samsung Electronics Co., Ltd. Method and system for the orchestration of tasks on consumer electronics
US8412554B2 (en) 2004-09-24 2013-04-02 Samsung Electronics Co., Ltd. Method and system for describing consumer electronics using separate task and device descriptions
US8744852B1 (en) * 2004-10-01 2014-06-03 Apple Inc. Spoken interfaces
US7669149B2 (en) * 2004-12-30 2010-02-23 Sap Ag Matching user interface elements to screen reader functions
US7620890B2 (en) * 2004-12-30 2009-11-17 Sap Ag Presenting user interface elements to a screen reader using placeholders
US8510737B2 (en) 2005-01-07 2013-08-13 Samsung Electronics Co., Ltd. Method and system for prioritizing tasks made available by devices in a network
US20060236244A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Command links
US8490015B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Task dialog and programming interface for same
US20060242591A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation File dialog user interfaces and creation of same
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US8522154B2 (en) * 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20090319273A1 (en) * 2006-06-30 2009-12-24 Nec Corporation Audio content generation system, information exchanging system, program, audio content generating method, and information exchanging method
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7793154B2 (en) 2006-11-30 2010-09-07 International Business Machines Corporation Method and implementation for automating processes using data driven pre-recorded transactions
EP1965301A1 (en) * 2007-02-27 2008-09-03 Abb Research Ltd. Method and system for generating a control system user interface
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US20090113306A1 (en) * 2007-10-24 2009-04-30 Brother Kogyo Kabushiki Kaisha Data processing device
US8397207B2 (en) * 2007-11-26 2013-03-12 Microsoft Corporation Logical structure design surface
JP5256712B2 (ja) * 2007-11-28 2013-08-07 ブラザー工業株式会社 インストールプログラムおよび情報処理装置
JP4935658B2 (ja) * 2007-12-11 2012-05-23 ブラザー工業株式会社 ブラウザプログラムおよび情報処理装置
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
WO2009143301A1 (en) * 2008-05-20 2009-11-26 The Feedroom, Inc. Systems and methods for realtime creation and modification of a disabled user compliant video player
US20090313581A1 (en) * 2008-06-11 2009-12-17 Yahoo! Inc. Non-Mouse Computer Input Method and Apparatus
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US9245055B2 (en) * 2008-10-16 2016-01-26 Christian Krois Visualization-based user interface system for exploratory search and media discovery
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US8681106B2 (en) * 2009-06-07 2014-03-25 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9310907B2 (en) 2009-09-25 2016-04-12 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
EP3260969B1 (en) 2009-09-22 2021-03-03 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US8832585B2 (en) 2009-09-25 2014-09-09 Apple Inc. Device, method, and graphical user interface for manipulating workspace views
US20110157027A1 (en) * 2009-12-30 2011-06-30 Nokia Corporation Method and Apparatus for Performing an Operation on a User Interface Object
US9785342B2 (en) * 2009-12-31 2017-10-10 International Business Machines Corporation Enhanced graphical display for hand-held devices
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8539385B2 (en) * 2010-01-26 2013-09-17 Apple Inc. Device, method, and graphical user interface for precise positioning of objects
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8433828B2 (en) 2010-02-26 2013-04-30 Apple Inc. Accessory protocol for touch screen device accessibility
US8707195B2 (en) 2010-06-07 2014-04-22 Apple Inc. Devices, methods, and graphical user interfaces for accessibility via a touch-sensitive surface
US9081494B2 (en) 2010-07-30 2015-07-14 Apple Inc. Device, method, and graphical user interface for copying formatting attributes
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8751971B2 (en) 2011-06-05 2014-06-10 Apple Inc. Devices, methods, and graphical user interfaces for providing accessibility using a touch-sensitive surface
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10318146B2 (en) * 2011-09-12 2019-06-11 Microsoft Technology Licensing, Llc Control area for a touch screen
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US20130263090A1 (en) * 2012-03-30 2013-10-03 Sony Online Entertainment Llc System and method for automated testing
US8881269B2 (en) 2012-03-31 2014-11-04 Apple Inc. Device, method, and graphical user interface for integrating recognition of handwriting gestures with a screen reader
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10268446B2 (en) 2013-02-19 2019-04-23 Microsoft Technology Licensing, Llc Narration of unfocused user interface controls using data retrieval event
US9817632B2 (en) 2013-02-19 2017-11-14 Microsoft Technology Licensing, Llc Custom narration of a control list via data binding
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014144949A2 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
CN103279420B (zh) * 2013-06-08 2016-02-24 网宿科技股份有限公司 优化的移动终端应用程序自动化测试方法和系统
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
EP3008964B1 (en) 2013-06-13 2019-09-25 Apple Inc. System and method for emergency calls initiated by voice command
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
RU2645265C2 (ru) 2013-12-05 2018-02-19 Закрытое акционерное общество "Лаборатория Касперского" Система и способ блокировки элементов интерфейса приложения
US11226686B2 (en) * 2014-01-20 2022-01-18 Lenovo (Singapore) Pte. Ltd. Interactive user gesture inputs
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US10466883B2 (en) * 2015-03-02 2019-11-05 Apple Inc. Screenreader user interface
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670580A1 (en) 2016-06-12 2018-01-02 Apple Inc Wrist-based tactile time feedback for non-sighted users
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US11231848B2 (en) 2018-06-28 2022-01-25 Hewlett-Packard Development Company, L.P. Non-positive index values of panel input sources
US10474564B1 (en) * 2019-01-25 2019-11-12 Softesis Inc. Identifying user interface elements using element signatures
US10996761B2 (en) 2019-06-01 2021-05-04 Apple Inc. User interfaces for non-visual output of time
US11262979B2 (en) * 2019-09-18 2022-03-01 Bank Of America Corporation Machine learning webpage accessibility testing tool
CN113900618B (zh) * 2021-05-07 2023-12-19 浙江口碑网络技术有限公司 一种信息播放方法、装置、电子设备以及存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898434A (en) * 1991-05-15 1999-04-27 Apple Computer, Inc. User interface system having programmable user interface elements
JPH08505721A (ja) * 1992-12-23 1996-06-18 タリジェント インコーポレイテッド オブジェクト指向フレームワーク・システム
US5548779A (en) * 1993-12-21 1996-08-20 Taligent System for providing system services for a device to a client using stack definition and stack description of a stack having top, intermediate, and bottom service objects
US7181692B2 (en) * 1994-07-22 2007-02-20 Siegel Steven H Method for the auditory navigation of text
US5912666A (en) * 1994-08-23 1999-06-15 Object Technology Licensing Corp. Object-oriented global cursor tool
CN1204409A (zh) * 1995-10-27 1999-01-06 奥瑟尔格尼克斯公司 应用程序和文件生成程序系统和方法
US5764241A (en) * 1995-11-30 1998-06-09 Microsoft Corporation Method and system for modeling and presenting integrated media with a declarative modeling language for representing reactive behavior
US5822580A (en) * 1996-01-19 1998-10-13 Object Technology Licensing Corp. Object oriented programming based global registry system, method, and article of manufacture
US6272521B1 (en) * 1997-12-08 2001-08-07 Object Technology Licensing Corporation Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
US6031531A (en) * 1998-04-06 2000-02-29 International Business Machines Corporation Method and system in a graphical user interface for facilitating cursor object movement for physically challenged computer users
US7020701B1 (en) * 1999-10-06 2006-03-28 Sensoria Corporation Method for collecting and processing data using internetworked wireless integrated network sensors (WINS)
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US6801231B1 (en) * 2000-05-16 2004-10-05 William M. Beltz Enhanced pointing device for handicapped users
US20020174147A1 (en) * 2000-05-19 2002-11-21 Zhi Wang System and method for transcoding information for an audio or limited display user interface
US20030058267A1 (en) * 2000-11-13 2003-03-27 Peter Warren Multi-level selectable help items
US7383536B1 (en) * 2000-12-29 2008-06-03 Petry John Remote machine vision application program development method
US7194411B2 (en) * 2001-02-26 2007-03-20 Benjamin Slotznick Method of displaying web pages to enable user access to text information that the user has difficulty reading
CA2344074A1 (en) * 2001-04-17 2002-10-17 George Wesley Bradley Method and system for cross-platform form creation and deployment
US6981246B2 (en) * 2001-05-15 2005-12-27 Sun Microsystems, Inc. Method and apparatus for automatic accessibility assessment
US6957396B2 (en) * 2001-10-18 2005-10-18 Sony Corporation Graphic user interface for digital networks
US7188335B1 (en) * 2001-12-28 2007-03-06 Trilogy Development Group, Inc. Product configuration using configuration patterns
US20040036715A1 (en) * 2002-08-26 2004-02-26 Peter Warren Multi-level user help
US7512881B2 (en) * 2002-11-14 2009-03-31 International Business Machines Corporation Tool-tip for multimedia files
US20040148419A1 (en) * 2003-01-23 2004-07-29 Chen Yancy T. Apparatus and method for multi-user entertainment
US8127252B2 (en) * 2003-11-07 2012-02-28 Microsoft Corporation Method and system for presenting user interface (UI) information
US20050015780A1 (en) * 2003-05-16 2005-01-20 Microsoft Corporation Method and system for providing information related to elements of a user interface
US20040268267A1 (en) * 2003-06-25 2004-12-30 Xerox Corporation. Methods and apparatus for prompted activation of an inactive control element in graphical user interface, and context-based help therefor
US7218313B2 (en) * 2003-10-31 2007-05-15 Zeetoo, Inc. Human interface system
US20050114361A1 (en) * 2003-11-26 2005-05-26 Brent Roberts Method and apparatus for integrating data repositories and frameworks
US20060146027A1 (en) * 2004-12-31 2006-07-06 Tracy James L Keypad and button mechanism having enhanced tactility

Also Published As

Publication number Publication date
KR100953806B1 (ko) 2010-04-21
KR20050051638A (ko) 2005-06-01
CN1678982A (zh) 2005-10-05
IL167163A (en) 2010-12-30
NO20051130L (no) 2005-04-29
WO2004031937A1 (en) 2004-04-15
ZA200501721B (en) 2006-05-31
TWI321290B (en) 2010-03-01
US7490313B2 (en) 2009-02-10
CA2495038C (en) 2012-11-06
CN1316351C (zh) 2007-05-16
MXPA05002322A (es) 2005-06-08
RU2348964C2 (ru) 2009-03-10
US20040070612A1 (en) 2004-04-15
JP4503438B2 (ja) 2010-07-14
EP1546857A1 (en) 2005-06-29
TW200411553A (en) 2004-07-01
JP2006501567A (ja) 2006-01-12
AU2003233573A1 (en) 2004-04-23
CA2495038A1 (en) 2004-04-15
BR0313490A (pt) 2005-07-05
RU2005104120A (ru) 2005-07-20
EP1546857A4 (en) 2007-09-05
AU2003233573B2 (en) 2009-09-24
NZ538524A (en) 2006-10-27

Similar Documents

Publication Publication Date Title
NO335888B1 (no) System og fremgangsmåte for å gjøre elementer til brukergrensesnittet kjent for en applikasjon og bruker
US11372657B2 (en) Systems and methods for adaptive user interfaces
US10628001B2 (en) Adapting user interfaces based on gold standards
US8744852B1 (en) Spoken interfaces
US9507519B2 (en) Methods and apparatus for dynamically adapting a virtual keyboard
Leporini et al. Increasing usability when interacting through screen readers
Leporini et al. Applying web usability criteria for vision-impaired users: does it really improve task performance?
US11610066B2 (en) Creation of component templates based on semantically similar content
EP2136292A1 (en) Service program generation technology
Elguera Paez et al. Elderly users and their main challenges usability with mobile applications: a systematic review
KR100747724B1 (ko) 시각장애인을 위한 웹 네비게이션 시스템 및 그 방법
CN115390720A (zh) 包括自动文档滚动的机器人过程自动化(rpa)
US11860767B2 (en) Testing computer program accessibility for users with disabilities, such as for use with mobile phones
US11921986B1 (en) System and method for web page navigation behavior
KR102189832B1 (ko) 오프라인 콘텐츠를 온라인 콘텐츠로 변환하기 위한 프로그램을 기록한 컴퓨터로 판독할 수 있는 매체 및 콘텐츠 변환 방법
WO2023084318A1 (en) Systems and methods for website segmentation and quality analysis
Hori et al. Mobile web and accessibility
Łobaziewicz Standardizing the presentation layer in B2B system.
Mueller et al. Building a Simple Web Site
Kobsa Course Notes
JP2005258547A (ja) 問題解決過程の可視化装置、方法およびプログラム

Legal Events

Date Code Title Description
CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: MICROSOFT TECHNOLOGY LICENSING, US

CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: MICROSOFT TECHNOLOGY LICENSING, US

MM1K Lapsed by not paying the annual fees