專利名稱:使用戶界面元素對應用程序和用戶已知的系統(tǒng)和方法
技術領域:
本發(fā)明涉及計算機軟件,尤其涉及計算機軟件的用戶界面輔助選項特征。
背景技術:
一些個人可能無法以常用的方式與計算機用戶界面交互。例如,小圖標和類型對弱視的人提出了??陕牭木婧头答亴θ趼牭娜耸菦]用的。計算行業(yè)對這些需求很敏感。一些操作系統(tǒng)具有附加的輔助選項特征,它們允許殘疾人以更適應其需求的方式來修改用戶界面。例如,一些操作系統(tǒng)允許用戶啟用視覺反饋,否則就使用聽覺反饋。另外,可對低視力的用戶使用超大屏幕字體和高對比度模式。對于極其弱視的人,諸如盲人,一些操作系統(tǒng)提供了“屏幕讀取器(screen reader)”,它向用戶敘述用戶界面的元素,或提供允許另一公司提供這一屏幕讀取器的架構。
典型的屏幕讀取器工具與用戶工作的任何應用程序并發(fā)地執(zhí)行。當用戶在元素之間導航時,諸如通過用tab鍵從一個按鈕切換到另一個,屏幕讀取器向一文本-語音引擎或可刷新盲文顯示發(fā)送關于當前元素的信息,以將該信息傳達給用戶。文本-語音引擎將該信息轉換成合成的語音,以將其向用戶宣布。可刷新盲文顯示將該信息轉換成輪廓分明的點圖案(即,盲文字符),并在物理硬件設備上使對應于盲文字符中的每一點的針突起。在按鈕的情況下,屏幕讀取器通常傳達按鈕的名字以及該按鈕的當前狀態(tài)(如,當前它被禁用因此不能被按下)。類似地,如果用戶處于文字處理應用程序中,則屏幕讀取器可以被配置成識別前景窗(即,應用程序名)和當前行、句子、單詞或最接近插入點的字符。屏幕讀取器也可描述該文本的屬性,如字體名、深淺、顏色、加重和版面調整。通常,屏幕讀取器也向用戶告知用戶當前可采取什么行動。例如,如果用戶導航到按鈕,則屏幕讀取器可通知用戶,它們可通過輕敲空間鍵按下按鈕。
屏幕讀取器對于某種程度弱視的計算機用戶是不可缺少的。一般而言,許多用戶僅僅不能在不需要輔助技術產品的情況下利用計算機,這些產品補償其移動性、感官知覺、或可通過技術來增強的其它功能的缺乏。然而,現(xiàn)有的軟件設計方法令諸如屏幕讀取器等輔助技術產品很難設計。如上所述,輔助技術產品通常接收當前運行的應用程序或操作系統(tǒng)環(huán)境本身的改變的通知。通常,這一通知采用指示焦點從一個元素(如,按鈕或列表框)改變到另一元素(如,編輯字段、圖標等),或者新元素被創(chuàng)建或毀滅(如,窗口被打開或關閉)的事件的形式。與應用程序相關聯(lián)的選擇管理器引發(fā)該事件,并向操作系統(tǒng)通知該變化。作為響應,輔助技術產品可查詢選擇管理器,以確定什么元素與該事件相關聯(lián)(如,哪一元素具有焦點),因此它可獲得額外的信息以傳達給用戶。
當前,輔助技術產品本質上僅能夠向元素請求有限的信息集,如其類型(如,按鈕、列表框等等)、其在屏幕上的位置或其標題。輔助技術產品本身然后必須從返回的元素類型中推斷出什么功能對用戶可用。換言之,輔助技術產品必須理解“按鈕”是什么,以及按鈕可以被按下(調用)。因此,好的輔助技術產品的設計者必須預先定義可包括在應用程序中的所有的元素類型并標識其功能。這是不可能的任務,因為在軟件行業(yè)中,軟件公司會在例程的基礎上產生新類型的屏幕元素或控件。另外,這是對資源的低效率使用,因為并非所有的元素都是唯一的。許多元素共享相似的功能,如被調用的功能或管理可選擇一個或多個項目的項目集合的功能。
更通用類的應用程序-自動工具具有幾乎與輔助技術產品相同的需求集。一般而言,自動工具需要如在焦點從一個控件變化到另一個時動態(tài)地發(fā)現(xiàn)屏幕元素(如,控件)的能力,無論是通過遍歷元素的對象層析還是通過接收事件通知。這些工具也需要一種向這些元素查詢可被傳達給用戶或用于稍后引用的人類可讀信息的通用機制。最后,自動工具需要發(fā)現(xiàn)由特定屏幕元素提供什么功能或行為的能力,即使是在該元素對自動工具完全未知的情況下。不幸的是,以可應用到可能元素的全型譜(full spectrum)的方式發(fā)現(xiàn)用戶界面元素并查詢和操縱其相關聯(lián)的功能高級機制令本領域的技術人員感到困惑。
發(fā)明內容
本發(fā)明針對令用戶界面元素(或控件)功能在編程上對應用程序可用,而不需要該元素類型的先驗知識。另外,本發(fā)明針對一種機制,用于向軟件開發(fā)者提供對可使用諸如輔助技術產品(如,盲人的屏幕讀取器)等自動工具傳達給用戶的信息的控制。簡言之,使用了控制模式來描述由一種或多種類型元素展示的功能。在兩種或多種類型元素之間公用的功能由同一控制模式描述。某些預定義的方法、結構、屬性和/或事件可以與特定的控制模式相關聯(lián)。當被查詢時,支持該控制模式的元素返回描述那些方法、結構、屬性和/或事件的接口。以這一方式,自動工具可操縱元素,而不需要該元素支持的功能的先驗知識,只要該元素能夠確認它支持特定的控制模式或控制模式組。
在另一方面,每一元素包括多個屬性,它們以人類可讀形式定義對自動工具或工具的用戶有用的一組信息。以這一方式,軟件開發(fā)者對于當描述元素時可收集并向用戶呈現(xiàn)什么信息具有更大的控制,由此改進了用戶體驗。
圖1所示是可用于實現(xiàn)本發(fā)明的計算設備的功能框圖。
圖2所示是實現(xiàn)本發(fā)明的系統(tǒng)的屏幕顯示的功能框圖。
圖3是表示圖2所示的屏幕顯示中的元素的對象樹的圖形表示。
圖4是圖3所示的對象樹的子樹的圖形表示。
圖5是依照本發(fā)明一般示出可由輔助技術產品用于為用戶描述和操縱屏幕元素的過程的邏輯流程圖。
圖6是依照本發(fā)明一般示出用于查詢對象以確定它展現(xiàn)的行為的過程的邏輯流程圖。
具體實施例方式
本發(fā)明提供了一種機制,它使諸如輔助技術產品、自動測試腳本、宏記錄器或命令應用程序等自動工具能夠收集關于用戶界面元素的描述信息,并確定該元素提供的功能,而不需要知道該元素是什么類型。簡言之,發(fā)明人確定每一元素或控件包括自動工具感興趣的兩個方面(1)描述其外觀、位置和當前狀態(tài)的信息,以及(2)該元素展示的功能。鑒于這一確定,本發(fā)明涉及以可傳遞給用戶的方式(如,人類可讀形式)向元素分配多個屬性,包括對元素是什么的描述。本發(fā)明還涉及標識功能組,它們可以使元素可用,并且可以直接訪問而不需要發(fā)現(xiàn)元素是什么。
本發(fā)明將首先參考其中可實現(xiàn)本發(fā)明的說明性計算環(huán)境的一個示例來描述。
接下來,將描述本發(fā)明的一個具體實現(xiàn)的詳細示例。對于該具體實現(xiàn)的某些細節(jié),也可包括替換的實現(xiàn)方式。可以理解,本發(fā)明的實施例不限于此處所描述的那些。
本發(fā)明的說明性計算環(huán)境圖1示出了可用于本發(fā)明的說明性實施例中的計算裝置。參考圖1,用于實現(xiàn)本發(fā)明的一個示例性系統(tǒng)包括計算裝置,如計算裝置100。在十分基本的配置中,計算裝置100通常包括至少一個處理單元102和系統(tǒng)存儲器104。根據計算裝置的確切配置和類型,系統(tǒng)存儲器104可以是易失(如RAM)、非易失(如ROM、閃存等)或兩者的某一組合。系統(tǒng)存儲器104通常包括操作系統(tǒng)105、一個或多個程序模塊106,并且可包括程序數據107。計算裝置100的這一基本配置在圖1中由虛線108內的組件示出。
計算裝置100可具有另外的特征或功能。例如,計算裝置100也可包括另外的數據存儲設備(可移動和/或不可移動),如磁盤、光盤或磁帶。這類另外的存儲在圖1中由可移動存儲109和不可移動存儲110示出。計算機存儲介質可包括以用于儲存如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任一方法和技術實現(xiàn)的易失和非易失、可移動和不可移動介質。系統(tǒng)存儲器104、可移動存儲109和不可移動存儲110都是計算機存儲介質的示例。計算機存儲介質包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設備、或可以用來儲存期望的信息并可由計算裝置100訪問的任一其它介質。任一這類計算機存儲介質可以是裝置100的一部分。計算裝置100也可具有(多個)輸入設備112,如鍵盤122、鼠標123、輸入筆、語音輸入設備、觸摸輸入設備等等。也可包括(多個)輸出設備114,如顯示器、揚聲器、打印機等等。這些設備在本領域中是眾所周知的,無需在此詳細討論。
計算裝置100也包含允許該裝置如通過網絡與其它計算裝置118進行通信的通信連接116。通信連接116是通信介質的一個示例。通信介質通??梢灾T如載波或其它傳輸機制等已調制數據信號中的計算機可讀指令、數據結構、程序模塊或其它數據實施,并包括任一信息傳送介質。術語“已調制數據信號”指以對信號中的信息進行編碼的方式設置或改變其一個或多個特征的信號。作為示例而非局限,通信介質包括有線介質,如有線網絡或直接連線連接,以及無線介質,如聲學、RF、紅外和其它無線介質。本發(fā)明使用的術語計算機可讀介質包括存儲介質和通信介質。
本發(fā)明的說明性實現(xiàn)圖2所示是實現(xiàn)本發(fā)明的一個系統(tǒng)的組件的功能框圖。圖2中所示的是自動工具(如,輔助技術產品)201和應用程序202。應用程序202包括多個元素。為討論目的,術語元素指用戶界面的任一組件,用戶可與其交互,或可向用戶提供某些有意義的信息或向應用程序202提供有意義的功能。術語控件有時候也用于表明這類元素。用戶可與應用程序202中示出的許多元素交互。例如,應用程序202包括具有多個菜單的菜單欄212,每一菜單具有相關聯(lián)的一系列菜單項。編輯菜單214包括具有多個菜單項215的下拉菜單列表。
某些元素包括在其它元素內。例如,列表視圖220包括某些圖標,如圖標222。框225包含組合框230和兩個按鈕-按鈕231和按鈕232。另外,框225和列表視圖220都包含在加選項卡的對話框元素221中。在常見的計算機技術中,包含在另一元素中的每一元素被認為是該包含元素的子元素。由此,組合框230是框225的子元素???25和列表框220是加選項卡的對話框元素221的子元素。
用戶可以用若干方式從一個元素導航到另一元素。一種方式是操縱鼠標指針從一個元素到另一元素。另一種方式是按下tab鍵或方向鍵。用戶所導航到的元素-“當前活動”元素被認為具有“焦點”。例如,如圖2所示,菜單項216被選中并且當前具有焦點。當用戶從一個元素導航到另一元素時,可自動向自動工具201通知獲得焦點的元素。在自動工具201是屏幕讀取器的情況下,它檢索新聚焦的元素的名字或標簽,然后向用戶“說出”該信息。屏幕讀取器可讀取活動窗口的標題、菜單選項、鍵入的文本等等。實際上,屏幕讀取器收集文本信息,然后將其傳遞到文本-語音引擎,它將該文本轉換成合成的語音輸出。盡管此處描述為屏幕讀取器,然而可以理解,自動工具可以是多種不同類型的工具的任一個,如語音和口述軟件、命令和控制工具、宏讀取器、自動測試腳本、命令工具等等。
如上所述,在過去,自動工具201僅確定當前具有焦點的元素的類型,然后使用其控件類型(如,按鈕、菜單項、可編輯文本字段等)來提取要傳達給用戶的控件專用信息。如后文將要詳細描述的,依照本發(fā)明,元素被配置成包括多個公用和專用屬性,它們共同描述了該元素,并可由自動工具201用于補充用戶體驗。借助通過這些屬性展現(xiàn)關于元素的信息,開發(fā)者對確定當使用利用本發(fā)明的自動工具201時將要向用戶傳達什么信息具有更大的控制。換言之,并非局限于與屏幕上元素相關聯(lián)的基于類型的信息,而是可使自動工具201能夠向用戶傳達對特定元素的信息的任何人類可讀串,并向用戶描述該元素的行為或目的。
許多元素是交互式的,并且提供促使應用程序202以預期的方式執(zhí)行的功能。例如,點擊按鈕231可能導致應用程序202的某種反應。點擊按鈕232可能導致應用程序202的某一其它反應。選中菜單項216可能導致又一其它反應。
盡管每一元素可能稍有不同,然而它們大多數都展示相似的基本功能特征。那些基本功能特征與元素本身的行為有關,而非與應用程序202可能發(fā)生的特定反應有關。換言之,按鈕231和232都是可點擊的,即使應用程序202可能根據點擊了哪一按鈕以不同的方式來反應。同樣,菜單項215和組合框230中的項都是可選擇的。相反,大多數不同類型的元素也具有不同的某些基本功能。例如,組合框230允許在編輯框部分233中編輯文本,而菜單項215不提供編輯其內容的能力。
發(fā)明人確定了許多類型的元素中存在的基本功能的某些模式。這一確定令“控制模式”得以建立,以描述可由元素展示的基本功能??刂颇J绞怯糜诿枋鲈氐男袨榈臋C制。更具體地,特定的控制模式可定義由元素支持的某些結構、屬性、事件和方法。元素可以(并可能的確)支持多個控制模式。由一元素支持的控制模式的集合定義了元素行為的全體。
應用程序可查詢元素是否支持特定的控制模式,以確定元素的行為。由此,如果沒有特定元素類型的先驗知識,客戶端應用程序可通過查詢它是否支持特定的控制模式來發(fā)現(xiàn)對該元素可用的功能。應用程序然后可通過與該控制模式相關聯(lián)的公用接口在編程上操縱元素??蓜?chuàng)建具有些許或完全不同行為的新元素,而應用程序仍能夠通過查詢該新元素支持的控制模式來與該新元素交互。以下表格表示了一些說明性控制模式以及與該控制模式相關聯(lián)的行為集。
表1 說明性控制模式的描述由此,圖2所示的元素可用適當的控制模式來配置,以表示特定元素類型所期望的行為的類型。下表描述了一些公用元素和可用于定義那些公用元素的行為的一些控制模式
表2 公用元素的控制模式圖3是表示圖2所示的應用程序202的元素的對象樹301的圖示。應當理解,對象樹301中的一個或多個對象可以是表示應用程序202的對應元素的代理或包裝對象。然而,僅為簡明性目的,本討論將對象樹301中的每一對象作為實際元素來處理。主應用程序窗口被表示為表單對象305,應用程序202的每一元素包括對象樹301中的一個對應對象。例如,圖2中加選項卡的對話框221的每一部分具有對象樹301中一對應的選項卡項目(選項卡306、選項卡307、選項卡308)。類似地,列表視圖220和框225具有對象樹301中的對應對象(列表視圖311和框312)。父/子關系也在對象樹301中表示。例如,框對象312具有子對象(組合框320、按鈕321和按鈕322),它們對應于框225內包含的元素。
在操作中,當用戶在應用程序中從一個元素導航到另一元素時,與應用程序202相關聯(lián)的選擇管理器通知自動工具201(圖3中示出為對象)焦點已改變。在屏幕讀取器的情況下,這一焦點改變可促使自動工具201向表示具有焦點的當前元素的特定對象查詢多個屬性和該元素支持的控制模式。焦點變化僅是自動工具可選擇來向元素查詢該信息的許多可能的原因之一。
對象樹301的子樹401在圖4中示出。為進一步說明該操作,假定自動工具201是屏幕讀取器。當用戶導航到按鈕231時,屏幕讀取器可查詢其對應的對象(按鈕321),并檢索其Name(名字)屬性410-人類可讀串,以向用戶敘述。Name屬性410包含將通過有視力的用戶觀看計算機顯示屏來與該控件相關聯(lián)的串。在這一情況下,屏幕讀取器將串“Help Button(幫助按鈕)”發(fā)送到文本-語音引擎,后者然后將該信息敘述給用戶。
另外,自動工具201可查詢按鈕321以標識由其對應的元素支持的控制模式412。在這一情況下,按鈕321的一個已標識控制模式是“Invoke(調用)”控制模式。該控制模式不僅允許客戶端應用程序查詢元素的行為,它們也允許通過為該特定控制模式設計的接口在編程上操縱該元素。在這一示例中,自動工具201可直接查詢按鈕321,以確定它是否支持Invoke控制模式。按鈕321可通過返回包括用于利用調用行為的一組方法的接口(Interface X414)指示肯定響應。在另一示例中,Selection(選中)控制模式(與組合框320相關聯(lián))可提供方法來查詢選中的項目、選中或取消選中特定項、確定該元素支持單個還是多個選中模式等等。
通過本發(fā)明啟用的機制,可書寫理解如何用每一控制模式,而非每一UI元素或控件而工作的自動工具。由于元素顯示的行為的全異類型相當少,因此控制模式將比元素或控件的類型少得多。這導致對自動工具書寫較少的代碼,并鼓勵一種更靈活的自動工具體系結構,它可有效地詢問并操縱支持已知控制模式的新元素。
圖5是一般示出一過程的邏輯流程圖,它可由依賴于在UI上自動化事件的事件驅動的自動工具用于發(fā)現(xiàn)要向其查詢屬性信息并使用控制模式來操縱的屏幕元素。該過程通過遍歷對象層次以查找感興趣的特定元素(框510)開始,或可在循環(huán)中空閑(511)直到它接收到它先前注冊要接收的事件通知。當接收到事件通知時,過程在框513繼續(xù)。
在框513,向當前感興趣的元素查詢用戶或自動工具需要的多個屬性信息。在一個實現(xiàn)中,自動工具可檢索當前元素屬性,它包括供用戶消耗的人類可讀串。過程在框515繼續(xù)。
在框515,向感興趣的元素查詢控制模式支持。這樣做的一種方法在下文結合圖6描述。簡言之,為確定如何在編程上操縱元素,自動工具可查詢該元素是否支持特定類型的控制模式,或可向該元素查詢它所支持的控制模式類型。一旦已知了所支持的控制模式,過程在框517繼續(xù)。
在框517,依照其支持的控制模式操縱具有焦點的元素。例如,響應于對是否支持特定控制模式的查詢(如,框515),該元素可返回一接口,它包括實施對應于該控制模式的行為的方法。通過使用該接口,自動工具(或構建在UI自動框架上并具有適當的安全許可的任一其它客戶端)可操縱該元素。
圖6是一般示出了查詢對象以確定它所展現(xiàn)的行為的過程的邏輯流程圖。該過程在判斷框601開始,其中,由一事件通知或某一其它機制,如遍歷UI自動對象層次,來發(fā)現(xiàn)一元素(由對象表示)。
在判斷框601,確定是否需要關于具有焦點的元素的所有支持的控制模式的信息。例如,某些情況可能批準查詢元素以確定其所有功能,而非僅確定它是否以特定的期望方式表現(xiàn)。這一情況的一個示例可以是在調試或測試環(huán)境中。在那些情況下,過程在框603繼續(xù)。然而,自動工具通常需要知道該元素是否支持特定行為。在那些情況下,過程在框605繼續(xù)。
在框603,向感興趣的元素發(fā)出對所支持的控制模式的查詢。該查詢可請求由該元素支持的控制模式的完整列表。查詢可僅請求列表,或者它可請求到每一所支持的控制模式的接口。作為響應,在框607,接收列表,請求工具或應用程序以任一適當的方式處理它;然而,一個常見的使用是然后使用該方法用于返回的控制模式,以在編程上操縱元素(如,使用InvokePattern.Invoke()方法來按下按鈕321,并由此顯示Help(幫助)窗口)。
在框605,向元素發(fā)出查詢以確定它是否支持特定的控制模式。在許多情況下,在方便應用程序的導航時,自動工具可以知道在應用程序中特定的一點上期望什么功能或行為。因此,并非請求所有支持的控制模式的列表,自動工具而是可以查詢元素是否支持特定的控制模式。由此,在框605,自動工具可向元素查詢它是否支持特定的控制模式。
在判斷框609,確定是否支持特定的控制模式。例如,如果請求的控制模式不被支持,則所查詢的元素可簡單地返回失敗。在該情況下,AT工具可對另一期望的控制模式重復框605的查詢,或者如果沒有支持任何期望的控制模式,它可以終止。如果支持當前控制模式,則過程在框611繼續(xù)。自動工具可查詢對特定控制模式的支持,直到嘗試了感興趣的所有模式。應當重復,支持特定控制模式的通知可以通過簡單地向調用自動工具返回具有對應于所支持的控制模式的方法的接口來提供。
在框611,接收包括令行為與控制模式能夠相關聯(lián)的方法的接口。在這一點上,自動工具可使用相關聯(lián)的控制模式方法來依照控制模式的行為以任一適當的方法操縱該元素??梢岳斫?,所揭示的系統(tǒng)、組件和過程啟用了一種機制,可通過其令用戶界面元素動態(tài)地對用戶和諸如自動工具等應用程序已知,用于編程操縱。
以上說明書、示例和數據提供了本發(fā)明的組成部分的制造和使用的完整描述。由于可以在不脫離本發(fā)明的精神和范圍的情況下作出許多實施例,本發(fā)明駐留在所附權利要求書中。
權利要求
1.一種用于編程上操縱用戶界面元素的計算機實現(xiàn)的方法,其特征在于,所述方法包括向所述元素請求所述元素是否支持一控制模式,所述元素具有特定的元素類型,所述控制模式描述由多種類型的元素展示的基本功能;以及如果所述元素支持所述控制模式,則使用由對應于所述控制模式的元素展示的至少一個方法操縱所述元素,由此,基于其對所述控制模式的支持操縱了所述元素,而不需要參考所述元素的類型。
2.如權利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述基本功能包括預定義方法、結構、屬性或事件中的一個或多個。
3.如權利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述元素支持多個不同的控制模式。
4.如權利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述元素是由一自動工具操縱的。
5.如權利要求4所述的計算機實現(xiàn)的方法,其特征在于,所述自動工具包括輔助技術產品、命令工具、自動測試腳本、宏記錄器、語音或口述軟件、或命令和控制工具。
6.如權利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述基本功能描述所述元素的行為以及它提供給所述用戶的功能。
7.如權利要求1所述的計算機實現(xiàn)的方法,其特征在于,它還包括向所述元素請求多個屬性,它們可由一自動工具用于收集被認為對用戶重要的信息;以及將該信息傳達該用戶。
8.如權利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述控制模式是以下列表中的至少一個ApplicationWindow、Calendar、Commands、DescriptiveInformation、Dock、ExpandCollapse、Graphic、Grid、GridItem、HierarchyItem、Invoke、Multimedia、MultipleView、RangeValue、Rotation、Scroll、Selection、SelectionItem、Sort、Split、Table、TableItem、Text、Value、VisualInformation、Window、Zoom。
9.一種具有用于執(zhí)行權利要求1所述的方法的計算機可執(zhí)行指令的計算機可讀介質。
10.一種具有用于操縱元素的計算機可執(zhí)行組件的計算機可讀介質,其特征在于,包括一自動工具,它被配置成收集關于元素的信息,所述信息儲存在所述元素的屬性內,所述自動工具還被配置成通過查詢所述元素是否支持一控制模式,并且如果是,依照所述控制模式操縱所述元素,來操縱所述元素。
11.如權利要求10所述的計算機可讀介質,其特征在于,所述控制模式包括用于描述元素的行為的手段。
12.如權利要求10所述的計算機可讀介質,其特征在于,所述控制模式定義所述元素支持的結構、屬性、事件和方法。
13.如權利要求10所述的計算機可讀介質,其特征在于,所述元素支持多個控制模式。
14.如權利要求10所述的計算機可讀介質,其特征在于,所述自動工具通過一與所述控制模式相關聯(lián)的接口來操縱所述元素,所述接口由所述元素響應于對所述元素是否支持所述控制模式的查詢而返回。
15.如權利要求10所述的計算機可讀介質,其特征在于,所述元素信息包括儲存在多個屬性內的人類可讀文本,所述人類可讀文本涉及所述元素的屬性。
16.如權利要求15所述的計算機可讀介質,其特征在于,所述元素的屬性包括關于所述元素的信息,如果所述信息被傳達給用戶,則向用戶告知所述元素。
17.一種用元素編碼的計算機可讀介質,其特征在于,包括標識關于所述元素的信息的多個屬性,所述屬性能夠由一自動工具傳達給用戶;以及標識一個或多個控制模式的第二字段,每一控制模式與所述元素的一特定行為相關聯(lián)。
18.如權利要求17所述的計算機可讀介質,其特征在于,所述屬性包括人類可讀文本串。
19.如權利要求18所述的計算機可讀介質,其特征在于,所述人類可讀文本串還包括描述所述元素使得這一信息的傳達向用戶告知所述元素的信息。
20.如權利要求17所述的計算機可讀介質,其特征在于,每一控制模式描述所述元素支持的結構、屬性、事件和方法。
21.如權利要求17所述的計算機可讀介質,其特征在于,所述控制模式包括用于描述元素的基本功能的手段。
全文摘要
使用控制模式(603)描述可由兩種或多種類型元素或控件展示的功能。在兩種或多種類型元素之間公用的功能由同一控制模式描述。某些預定義的方法、結構、屬性和/或事件可與特定的控制模式相關聯(lián)。當被查詢(605)時,支持控制模式的元素(601)返回一描述那些方法、結構、屬性和/或事件的接口(611)??刂颇J皆谒鼈兯硎镜墓δ苌鲜腔コ獾?,因此它們可以用任意的方法組合,以展示由特定控件提供的完整功能集。
文檔編號G09G5/00GK1678982SQ03820932
公開日2005年10月5日 申請日期2003年5月17日 優(yōu)先權日2002年9月30日
發(fā)明者R·E·辛克萊爾, P·M·瓦格納, H·S·布恩斯, P·J·里德, B·麥科恩 申請人:微軟公司