BookBrowse.com's accessibility policy and VPAT

BookBrowse Accessibility Policy

Product Description
BookBrowse provides users with a rich collection of book related information through its website at www.bookbrowse.com. Additional features, including BookBrowse's online magazines are available for an annual or quarterly membership fee (BookBrowse Membership).

Accessibility at BookBrowse
BookBrowse is committed to making its website and emails accessible to all people, regardless of disability type or severity of impairment. Direct feedback from visually impaired members and visitors to the site in particular has proven most useful and enabled us to make changes ensuring the site is easy to navigate and use.

However, it should be noted that improved accesibility is a journey, not a destination; and we recognise that while much progress has been made at BookBrowse to improve accessibility and reduce any barriers that people with disabilities may come across, there will always be potential for improvement. We encourage any visitors with accessibility feedback to contact us.

What is the Voluntary Product Accessibility Template?
The Information Technology Industry Council (ITI) partnered with the U.S. General Services Administration (GSA) to create a tool to assist officials in fulfilling requirements contained in the Section 508 implementing regulations. The result of this partnering is the Voluntary Product Accessibility Template or VPAT.

Terminology used in the VPAT
The terms used in the Conformance Level information are defined as follows:

  • Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
  • Partially Supports: Some functionality of the product does not meet the criterion.
  • Does Not Support: The majority of product functionality does not meet the criterion.
  • Not Applicable: The criterion is not relevant to the product.
  • Not Evaluated: The product has not been evaluated against the criterion. This can be used only in WCAG 2.2 Level AAA.

More information
Download this report

For more information, you may want to visit the following websites:
   Information Technology Industry Council (ITI) VPAT: http://www.itic.org/public-policy/accessibility
   Section 508: https://www.section508.gov/

Voluntary Product Accessibility (VPAT)
Section 1194.22 Web-based Internet information and applications: Detail
Revised Section 508 Edition, Version 2.4
Criteria Supporting Features Remarks and explanations
1.1.1 Non-text Content:
All non-text content that is presented to the user has a text alternative that serves the equivalent purpose (e.g., via "alt", "longdesc", or in element content).
Supports Where relevant "alt" text for graphics is provided on BookBrowse. (alt tags are not used in specific cases, such as formatting/spacing).
Where CAPTCHA input is required, an alternative is provided
1.2.1 Audio-only and Video-only (Prerecorded):
For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such...
Not Applicable BookBrowse does not rely on audio-only or video-only pages
1.2.2 Captions (Prerecorded): Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such. Not Applicable Audio content generally not in use at BookBrowse.
1.2.3 Audio Description or Media Alternative (Prerecorded)
An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such.
Not Applicable Audio content generally not in use at BookBrowse.
1.3.1 Info and Relationships
Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.
Partially Supports Semantic markup is used appropriately to designate headings (<h1>), lists (<ul>, <ol>), emphasized or special text (e.g. <b>, <blockquote>.
Exceptions:
Although the majority of forms and tables utilize the appropriate HTML tagging, work is ongoing to identify and update any remaining non-conforming pages.
1.3.2 Meaningful Sequence
When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.
Supports The reading and navigation order (determined by code order) is logical and intuitive.
1.3.3 Sensory Characteristics
Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, color, size, visual location, orientation, or sound.
Supports Instructions do not rely upon shape, size, or visual location (e.g., "Click the square icon to continue" or "Instructions are in the right-hand column").
Instructions do not rely upon sound (e.g., "A beeping sound indicates you may continue.").
1.4.1 Use of Color
Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.
Supports Color is not used as the sole method of conveying content or distinguishing visual elements.
Color alone is not used to distinguish links from surrounding text unless the contrast ratio between the link and the surrounding text is significant and an additional distinction (e.g., it becomes underlined) is provided when the link is hovered over and receives focus.
1.4.2 Audio Control
If any audio on a Web page plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level.
Supports Generally audio is not used in BookBrowse pages. Where audio has been included, it does not start automatically.
2.1.1 Keyboard
All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints.
Supports All page functionality is available using the keyboard; no special timings are required.
2.1.2 No Keyboard Trap
If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away.
Not Applicable BookBrowse does not use keyboard traps: keyboard focus is never locked or trapped at one particular page element.
2.2.1 Timing Adjustable
For each time limit that is set by the content, appropriate controls are provided
Not Applicable BookBrowse does not used time-sensitive content.
2.2.2 Pause, Stop, Hide
For moving, blinking, scrolling, or auto-updating information, appropriate controls are provided
Supports Automatically moving, blinking, or scrolling content (such as carousels, or animations) that lasts longer than 5 seconds can be paused, stopped, or hidden by the user.
2.3.1 Three Flashes or Below Threshold
Web pages do not contain anything that flashes more than three times in any one second period.
Supports No page content flashes more than 3 times per second. BookBrowse does not permit flashing content.
2.4.1 Bypass Blocks
A mechanism is available to bypass blocks of content that are repeated on multiple Web pages.
Not Applicable A proper heading structure and/or identification of page regions has been provided.
2.4.2 Page Titled
Web pages have titles that describe topic or purpose.
Supports Web pages have descriptive and informative page titles.
2.4.3 Focus Order
If a Web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability.
Supports The navigation order of links, form elements, etc. is logical and intuitive.
2.4.4 Link Purpose (In Context)
The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general.
Supports The purpose of each link (or button) can be determined from the link or from the link text and its context.
3.1.1 Language of Page
The default human language of each Web page can be programmatically determined.
Supports The language of the page is identified using the HTML lang attribute.
3.2.1 On Focus
When any component receives focus, it does not initiate a change of context.
Supports If a page element receives focus, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user.
3.2.2 On Input
Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component.
Supports When a user inputs information or interacts with a control, it does not result in a substantial change to the page, the spawning of a pop-up window, an additional change of keyboard focus, or any other change that could confuse or disorient the user unless the user is informed of the change ahead of time.
3.3.1 Error Identification If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text. Supports Data input is validated and sanitized, and errors clearly described to the user in text allowing them to fix the input in a timely and accessible manner.
3.3.2 Labels or Instructions
Labels or instructions are provided when content requires user input.
Supports All forms are clearly explained with instructions for completion.
4.1.1 Parsing
In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features.
Supports Significant HTML/XHTML validation/parsing errors are avoided. Random sample pages are validated using http://validator.w3.org/. Errors are evaluated and corrected as required.
4.1.2 Name, Role, Value
For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.
Partially Supports Standard HTML controls used in a way that facilitates accessibility. This includes following the HTML/XHTML specifications and using forms, form labels, frame titles, etc. appropriately.
Work is ongoing to test and update all pages to meet accessibility requirements and BookBrowse Development Guidelines, though the vast majority have been updated with appropriate HTML tagging.


Table 2: VPAT Criteria, Level AA
Criteria Supporting Features Remarks and explanations
1.2.4 Captions (Live)
Captions are provided for all live audio content in synchronized media.
Not Applicable Real-time audio presentations are not delivered by BookBrowse.
1.2.5 Audio Description (Prerecorded)
Audio description is provided for all prerecorded video content in synchronized media.
Partially Supports Audio is not generally offered on BookBrowse. Where is is offered (for example in an author interview) all of the information in the video track is already provided in the audio track.
1.4.3 Contrast (Minimum)
The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: Large Text, Incidental, Logotypes.
Partially Supports Text and images of text have a contrast ratio of at least 4.5:1.
Large text and bold have a contrast ratio of at least 3:1.
1.4.4 Resize text
Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality.
Suported BookBrowse is developed using dynamic design principles. The page is readable and functional when the page is zoomed to 200%.
1.4.5 Images of Text: If the technologies being used can achieve the visual presentation, text is used to convey information rather than images of text except for the following: Customizable or Essential Supports If the same visual presentation can be made using text alone, an image is not used to present that text.
2.4.5 Multiple Ways
More than one way is available to locate a Web page within a set of Web pages except where the Web Page is the result of, or a step in, a process.
Supports Multiple ways are available to find other web pages on the site - at least two of: the menu bar, a list of related pages, site map, site search, or list of all available web pages.
2.4.6 Headings and Labels
Headings and labels describe topic or purpose.
Supports Page headings and labels for forms are informative.
2.4.7 Focus Visible
Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.
Supports It is visually apparent which page element has the current keyboard focus.
3.1.2 Language of Parts
The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text.
Not Applicable BookBrowse is currently only available in English.
3.2.3 Consistent Navigation
Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.
Supports Navigation links that are repeated on web pages do not change order when navigating through the site.
3.2.4 Consistent Identification
Components that have the same functionality within a set of Web pages are identified consistently.
Supports Elements that have the same functionality across multiple web pages are consistently identified.
3.3.3 Error Suggestion
If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content.
Supports Suggestions are provided where they do not pose a security risk.
3.3. Error prevention
For Web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true:
Reversible: Submissions are reversible.
Checked: Data entered by the user is checked for input errors and the user is provided an opportunity to correct them.
Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission
Supports Data entered by the user is checked for input errors, and financial transactions require confirmation to proceed.


Section 508


ICT guidelines recommend the following Standards for Electronic Content:

Your guide toexceptional          books

BookBrowse seeks out and recommends the best in contemporary fiction and nonfiction—books that not only engage and entertain but also deepen our understanding of ourselves and the world around us.

 


Debugging Information
ColdFusion Server Developer 2021,0,13,330286
Template /accessibility/index.cfm
Time Stamp 31-May-26 06:29 PM
Locale en
User Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Remote IP 127.0.0.1
Host Name 127.0.0.1


Execution Time

Total Time Avg Time Count Template
1780252179948 ms 1.78025217995E+012 ms 1 /root/website/app_server.cfm
94 ms 94 ms 1 top level /root/website/accessibility/index.cfm
32 ms 32 ms 1 /root/website/app_globals.cfm
21 ms 21 ms 1 /root/website/app_layout.cfm
13 ms 13 ms 1 /root/website/site/blocks/layout/dsp_footer.cfm
12 ms 12 ms 1 /root/website/adsystem/adsystem_mod.cfm
12 ms 12 ms 1 /root/website/adzones/showcase_track.cfm
12 ms 12 ms 1 /root/website/queries/qry_get_active_obc.cfm
3 ms 2 ms 2 /root/website/actions/act_spider_tracker.cfm
3 ms 3 ms 1 /root/website/actions/adstatus.cfm
2 ms 2 ms 1 /root/website/act_check_login.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_competition.cfm
2 ms 2 ms 1 /root/website/queries/qry_get_current_wordplay.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_bottom_block.cfm
2 ms 2 ms 1 /root/website/site/blocks/layout/dsp_header.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_current_ezine.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_free_newsletters.cfm
1 ms 1 ms 1 /root/website/queries/qry_get_member_info.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/head.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_menu.cfm
1 ms 1 ms 1 /root/website/site/blocks/layout/main_search.cfm
0 ms 0 ms 1 /root/website/Application.cfm
0 ms 0 ms 1 /root/website/accessibility/dsp_main.cfm
0 ms 0 ms 1 /root/website/act_libraryIPLogin.cfm
0 ms 0 ms 1 /root/website/actions/udfs.cfm
0 ms 0 ms 1 /root/website/banners/ad_594.cfm
0 ms 0 ms 1 /root/website/formurl2attributes.cfm
0 ms 0 ms 1 /root/website/js/fbjavascriptsdk.cfm
0 ms 0 ms 1 /root/website/queries/qry_get_previous_arcs_for_ad.cfm
0 ms 0 ms 1 /root/website/site/blocks/dsp_header_newsletter.cfm
0 ms 0 ms 1 /root/website/site/blocks/email_modal.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/google_tags.cfm
0 ms 0 ms 1 /root/website/site/blocks/layout/header_announcement.cfm
6 ms  STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
100 ms  TOTAL EXECUTION TIME
red = over 250 ms average execution time


SQL Queries

spidercheck (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/actions/act_spider_tracker.cfm @ 18:29:39.039
SELECT	a.bot_number
        FROM	bots a
        WHERE	charindex(a.bot_name, ?) > 0
		OR a.bot_ip = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_varchar) = Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Parameter #2(cf_sql_varchar) = 127.0.0.1

get_member_info (Datasource=bookbrowse_com_new, Time=0ms, Records=0) in /root/website/queries/qry_get_member_info.cfm @ 18:29:39.039
select 	a.*, 
    		b.member_account_type_name, b.member_account_type_charge, b.member_account_type_charge_frequency,  b.member_account_type_months, 
            c.member_chargetype_name, c.member_chargetype_number, a.member_classification_number, a.member_book_format
	
    from members a, member_account_types b, member_chargetype c
	
    where a.member_account_type_number = b.member_account_type_number
	and a.payment_method_id = c.member_chargetype_number
	and a.member_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

adactive (Datasource=bookbrowse_com_new, Time=2ms, Records=2) in /root/website/actions/adstatus.cfm @ 18:29:39.039
SELECT	viewby, section
    FROM	adsystem 
    WHERE	active  = 1 
    AND		start_date <= GETDATE()
    AND 	(viewby = ? OR viewby = 'all')
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = non

get_current_ezine (Datasource=bookbrowse_com_new, Time=0ms, Records=1, Cached Query) in /root/website/queries/qry_get_current_ezine.cfm @ 18:29:39.039
select		top 1 ezine_number, ezine_dt, ezine_image, ezine_brief_description, ezine_introduction
from		ezines
where		ezine_active_flag = 1
and 		ezine_type_number = 4
and			ezine_dt < getdate()
order by 	ezine_dt DESC
get_current_wordplay (Datasource=bookbrowse_com_new, Time=2ms, Records=1) in /root/website/queries/qry_get_current_wordplay.cfm @ 18:29:39.039
SELECT		a.wordplay_number, a.wordplay_dt, a.wordplay_name, a.wordplay_intro_text, b.wordplay_puzzle_number, b.wordplay_puzzle_question
    FROM		wordplays a 
	INNER JOIN	wordplay_puzzle_mapping c on c.wordplay_number = a.wordplay_number
	INNER JOIN	wordplay_puzzles b on b.wordplay_puzzle_number = c.wordplay_puzzle_number
	WHERE		a.wordplay_number = (	select top 1 a.wordplay_number
                                from wordplays a, wordplay_puzzles b, wordplay_puzzle_mapping c
                                where a.wordplay_number = c.wordplay_number
                                and b.wordplay_puzzle_number = c.wordplay_puzzle_number
                                and a.wordplay_dt < getdate()
                                and a.wordplay_expiration_dt > dateadd(day, -1, getdate())
                                order by a.wordplay_dt asc
                                )
get_ComNo (Datasource=bookbrowse_com_new, Time=1ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 18:29:39.039
SELECT 	TOP 1 	x.competition_number, x.bb_briefs_flag
	from			competitions x
	
		WHERE	x.competition_dt <= getdate()
		AND		x.competition_expiration_dt > dateadd(d,-1,getdate())
get_current_competition (Datasource=bookbrowse_com_new, Time=1ms, Records=0) in /root/website/queries/qry_get_current_competition.cfm @ 18:29:39.039
SELECT 	x.competition_number, x.book_number, x.competition_teaser_title, x.competition_teaser_description, x.competition_intro_text, x.competition_expiration_dt, x.bb_briefs_flag, x.competition_full_info_flag, x.competition_type, x.competition_optin,x.competition_optin_text, 
				a.book_title as "title",
				(b.author_first_name + ' ' +  b.author_middle_initial + ' ' + b.author_last_name) as "author",
	            f.edition_publish_dt AS "hardcover_publish_dt", f.edition_jacket_image as "hardcover_jacket_image",
				g.edition_publish_dt AS "paperback_publish_dt", g.edition_jacket_image as "paperback_jacket_image"
	
		FROM 		competitions x
		INNER JOIN	books a on a.book_number = x.book_number
		INNER JOIN	book_author_mapping c on c.book_number = x.book_number
		INNER JOIN	authors b on c.author_number = b.author_number
		LEFT JOIN	editions f on a.book_number = f.book_number and f.edition_paperback_flag = 0
		LEFT JOIN	editions g on a.book_number = g.book_number and g.edition_paperback_flag = 1

		WHERE		x.competition_number = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 0

get_previous_arcs_for_ad (Datasource=bookbrowse_com_new, Time=0ms, Records=0, Cached Query) in /root/website/queries/qry_get_previous_arcs_for_ad.cfm @ 18:29:39.039
SELECT 	a.arc_number,a.arc_client_url,a.arc_active_dt, a.arc_off_ad_dt,
		b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_publisher, 
		b.ezine_preview_publish_dt, b.ezine_preview_jacket_desc, b.ezine_preview_number_of_pages, b.ezine_preview_bb_comments, b.ezine_preview_isbn13,
		c.ezine_preview_category_name AS "ezine_preview_category",
		(select count(*) from arc_allocator d where d.arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) as "reviews",
		(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,0))) AS numeric(12,0)))+
				(CASE WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 25 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 50 THEN 0.5
				 WHEN right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) > 50 AND right(CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,2))) AS numeric(12,2)),2) < 75 THEN -0.5
				 ELSE 0
				 END)
 			from arc_allocator	where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS arcrating,
 			(select (CAST(AVG(CAST(arc_allocator_review_rating AS numeric(12,1))) AS numeric(12,1)))from arc_allocator where arc_number = a.arc_number and arc_allocator_review_approved_flag = 1) AS "decrating"

FROM arcs a
INNER JOIN ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
INNER JOIN ezine_preview_categories c ON b.ezine_preview_category_number = c.ezine_preview_category_number

WHERE arc_closed_flag = 1
AND arc_obc_flag = 0
AND getdate() >= arc_on_ad_dt
AND getdate() < arc_off_ad_dt

ORDER BY a.arc_on_ad_dt DESC
get_future_obc (Datasource=bookbrowse_com_new, Time=2ms, Records=0) in /root/website/queries/qry_get_active_obc.cfm @ 18:29:39.039
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text, arc_on_ad_dt,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages, ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	
	WHERE 		arc_obc_flag = 1

	AND 		getdate() < arc_on_ad_dt
	
		ORDER BY  	NEWID()
get_active_obc (Datasource=bookbrowse_com_new, Time=4ms, Records=1) in /root/website/queries/qry_get_active_obc.cfm @ 18:29:39.039
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE 		a.arc_obc_flag = 1
	AND			a.arc_active_flag = 0
	AND 		arc_closed_flag = 1
	AND 		getdate() >= arc_on_ad_dt
	AND 		getdate() < arc_off_ad_dt
	ORDER BY  	NEWID()
get_recent_obc (Datasource=bookbrowse_com_new, Time=4ms, Records=4) in /root/website/queries/qry_get_active_obc.cfm @ 18:29:39.039
SELECT 		a.arc_forumidfk, a.discourse_flag, a.arc_promo_text,
				b.ezine_preview_number, b.ezine_preview_title, b.ezine_preview_subtitle, b.ezine_preview_jacket_image, b.ezine_preview_author, b.ezine_preview_jacket_desc, b.ezine_preview_publisher, ezine_preview_publish_dt, ezine_preview_number_of_pages,  ezine_preview_isbn, ezine_preview_short_summary,
	            b.ezine_preview_bb_author_link, ezine_preview_bb_link,
	            c.book_reading_guide
	
	FROM 		arcs a
	INNER JOIN 	ezine_previews b ON b.ezine_preview_number = a.ezine_preview_number
	LEFT JOIN  	books c on c.book_number = b.ezine_preview_bb_link
	
	WHERE a.arc_number IN (select top 4 arc_number
							from		arcs
							WHERE 		arc_obc_flag = 1
							AND			arc_active_flag = 0
							AND 		arc_closed_flag = 1
							AND 		getdate() > arc_off_ad_dt
							ORDER BY	arc_on_ad_dt DESC)
	ORDER BY  	NEWID()
get_free_newsletters (Datasource=bookbrowse_com_new, Time=1ms, Records=4) in /root/website/queries/qry_get_free_newsletters.cfm @ 18:29:40.040
SELECT 	*
    FROM 	free_newsletters
get_ads (Datasource=bookbrowse_com_new, Time=4ms, Records=0) in /root/website/adsystem/adsystem_mod.cfm @ 18:29:40.040
SELECT		a.adid,	adweight
	FROM		adsystem a
	INNER JOIN 	ad_category_mapping b ON b.adid = a.adid
	WHERE		a.section = ?
	AND			a.active  = 1
	AND 		a.start_date <= GETDATE()
	
	AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
            

	AND     (b.category_number IN (	SELECT	category_number
									FROM	category_book_mapping
									WHERE	book_number = ?)
      		OR 	b.category_number = ?)
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track
Parameter #2(CF_SQL_VARCHAR) = 0
Parameter #3(CF_SQL_VARCHAR) = 0

get_ads (Datasource=bookbrowse_com_new, Time=3ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 18:29:40.040
SELECT	a.adid,	adweight
        FROM	adsystem a
        WHERE	a.section = ? 
        AND 	a.active  = 1 
        AND		a.start_date <= GETDATE()	
        
        AND (a.viewby LIKE '%n%' OR a.viewby = 'all')
        AND (select count(*) from ad_category_mapping where datalength(category_number) >= 1 and adid = a.adid) = 0
Query Parameter Value(s) -
Parameter #1(CF_SQL_VARCHAR) = showcase_track

get_type (Datasource=bookbrowse_com_new, Time=1ms, Records=1) in /root/website/adsystem/adsystem_mod.cfm @ 18:29:40.040
SELECT	a.start_date, a.adid, a.end_date, a.camp_views, a.image_name, a.alt_text, a.views, a.code, a.adsize
        FROM	adsystem a
        WHERE	a.adid = ?
Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 594


Scope Variables

CGI Variables:
AUTH_PASSWORD=
AUTH_TYPE=
AUTH_USER=
CERT_COOKIE=
CERT_FLAGS=
CERT_ISSUER=
CERT_KEYSIZE=
CERT_SECRETKEYSIZE=
CERT_SERIALNUMBER=
CERT_SERVER_ISSUER=
CERT_SERVER_SUBJECT=
CERT_SUBJECT=
CF_TEMPLATE_PATH=/root/website/accessibility/index.cfm
CONTENT_LENGTH=
CONTENT_TYPE=
CONTEXT_PATH=
GATEWAY_INTERFACE=
HTTPS=
HTTPS_KEYSIZE=
HTTPS_SECRETKEYSIZE=
HTTPS_SERVER_ISSUER=
HTTPS_SERVER_SUBJECT=
HTTP_ACCEPT=*/*
HTTP_ACCEPT_ENCODING=gzip, br, zstd, deflate
HTTP_ACCEPT_LANGUAGE=
HTTP_CONNECTION=upgrade
HTTP_COOKIE=
HTTP_HOST=dev.bookbrowse.com
HTTP_REFERER=http://dev.bookbrowse.com/accessibility/
HTTP_URL=
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
LOCAL_ADDR=127.0.0.1
PATH_INFO=
PATH_TRANSLATED=/root/website/accessibility/index.cfm
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REMOTE_HOST=127.0.0.1
REMOTE_USER=
REQUEST_METHOD=GET
SCRIPT_NAME=/accessibility/index.cfm
SERVER_NAME=dev.bookbrowse.com
SERVER_PORT=8500
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=
WEB_SERVER_API=
Client Variables:
cfid=4071340
cftoken=d66844eb0728cfff-F8FCEB5E-F192-5EFA-7F9F12544CC6C0B9
hitcount=1
lastvisit={ts '2026-05-31 18:29:39'}
library_user_flag=0
member_active_flag=0
member_logged_in_flag=0
member_number=0
order=p
timecreated={ts '2026-05-31 18:29:39'}
urltoken=CFID=4071340&CFTOKEN=d66844eb0728cfff-F8FCEB5E-F192-5EFA-7F9F12544CC6C0B9
view=books
Cookie Variables:
CFID=4071340
CFTOKEN=d66844eb0728cfff-F8FCEB5E-F192-5EFA-7F9F12544CC6C0B9
Session Variables:
cfid=4071340
cftoken=d66844eb0728cfff-F8FCEB5E-F192-5EFA-7F9F12544CC6C0B9
sessionid=BOOKBROWSE_4071340_d66844eb0728cfff-F8FCEB5E-F192-5EFA-7F9F12544CC6C0B9
urltoken=CFID=4071340&CFTOKEN=d66844eb0728cfff-F8FCEB5E-F192-5EFA-7F9F12544CC6C0B9
Debug Rendering Time: 6 ms